80 lines
2.6 KiB
Nix
80 lines
2.6 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
|
|
home.file = {
|
|
".rsync-backup.sh" = {
|
|
executable = true;
|
|
text = ''
|
|
#!/bin/sh
|
|
#
|
|
################################################################################
|
|
#
|
|
# Push Home Zulumann to Fileserver01/Backup/$HOSTNAME/
|
|
#
|
|
################################################################################
|
|
# -a (Kurzversion für --archive): gleiche Bedeutung wie -rlptgoD
|
|
# -r (Kurzversion für --recursive): Unterverzeichnisse kopieren
|
|
# -l (Kurzversion für --links): symbolische Links kopierenrsync
|
|
# -p (Kurzversion für --perms): Rechte der Quelldatei beibehalten
|
|
# -t (Kurzversion für --times): Zeiten der Quelldatei beibehalten
|
|
# -g (Kurzversion für --group): Gruppenrechte der Quelldatei beibehalten
|
|
# -o (Kurzversion für --owner): Besitzrechte der Quelldatei beibehalten (nur als root User möglich)
|
|
# -D (Kurzversion für --devices --specials): Gerätedateien der Quelldatei beibehalten (nur als root User möglich)
|
|
# -v (Kurzversion für --verbose): zeigt während der Ausführung an welche Dateien synchronisiert werden
|
|
# -z
|
|
# --delete: entfernt Dateien im Zielverzeichnis die mittelerweile im Quellverzeichnis nicht mehr vorhanden sind
|
|
# rsync --dry-run
|
|
################################################################################
|
|
# rsync -rdt rsync://192.168.10.52/
|
|
#
|
|
rsync -a -v --exclude-from=/home/$USER/.rsync-exlude --delete --progress --partial /home/$USER/ rsync://192.168.10.52:873/Backup/$HOSTNAME/ -b --backup-dir=01rsync-trash/ 2>&1 | tee /home/$USER/.rsync-backup.log
|
|
'';
|
|
};
|
|
};
|
|
|
|
home.file = {
|
|
".rsync-exlude" = {
|
|
text = ''
|
|
- Downloads
|
|
- Games
|
|
- Share-Cloud
|
|
- Share-Priv
|
|
- Share-SMB
|
|
- Share-VM
|
|
- Sync
|
|
- VM-Image
|
|
- Code Cache
|
|
- cache*
|
|
- Cache*
|
|
- Cache_*
|
|
- *_cache
|
|
- *Cache
|
|
- DawnGraphiteCache
|
|
- log*
|
|
- logs
|
|
- tmp
|
|
- Trash
|
|
+ .config
|
|
- .config/syncthing
|
|
- .config/unity3d
|
|
- .config/ownCloud
|
|
+ .local
|
|
- .local/state
|
|
- .local/share/containers
|
|
- .local/share/flatpak
|
|
- .local/share/keyrings
|
|
- .local/share/nomic.ai
|
|
- .local/share/Steam
|
|
+ .jd2
|
|
+ .conkyrc
|
|
- .*
|
|
- *.LOG
|
|
- LOG
|
|
- *.old
|
|
'';
|
|
};
|
|
};
|
|
|
|
}
|