diff --git a/.bin/backup-and-update-system b/.bin/backup-and-update-system index bc52881..c28a285 100755 --- a/.bin/backup-and-update-system +++ b/.bin/backup-and-update-system @@ -14,26 +14,36 @@ do done # Do a backup. -rsync -zaAP --numeric-ids --delete --relative \ - --rsync-path="/usr/bin/rsync --fake-super" \ - -e "ssh" --delete-excluded \ - --exclude "/home/kunsi/.cache/" \ - --exclude "/home/kunsi/.config/Rambox/" \ - --exclude "/home/kunsi/.config/Ferdi/" \ - --exclude "/home/kunsi/.local/lib/python*/site-packages/" \ - --exclude "/home/kunsi/.local/share/sddm/" \ - --exclude "/home/kunsi/.local/share/TelegramDesktop/tdata/user_data/cache/" \ - --exclude "/home/kunsi/.mozilla/firefox/*/storage/*" \ - --exclude "/home/kunsi/.npm/" \ - --exclude "/home/kunsi/.nvm/" \ - --exclude "/home/kunsi/.platformio/" \ - --exclude "/home/kunsi/.ssh/cm-*" \ - --exclude "/home/kunsi/.vdirsyncer" \ - --exclude "/home/kunsi/Downloads/" \ - --exclude "/home/kunsi/qemu/Windows_10.qcow2" \ - --exclude "/home/kunsi/Schreibtisch/" \ - --exclude "/home/kunsi/VirtualBox VMs/" \ - "/home/kunsi" "kunsi-t470@home.nas":backups/ +( + rsync -zaAP --numeric-ids --delete --relative \ + --rsync-path="/usr/bin/rsync --fake-super" \ + -e "ssh" --delete-excluded \ + --exclude "/home/kunsi/.cache/" \ + --exclude "/home/kunsi/.config/Rambox/" \ + --exclude "/home/kunsi/.config/Ferdi/" \ + --exclude "/home/kunsi/.local/lib/python*/site-packages/" \ + --exclude "/home/kunsi/.local/share/sddm/" \ + --exclude "/home/kunsi/.local/share/TelegramDesktop/tdata/user_data/cache/" \ + --exclude "/home/kunsi/.mozilla/firefox/*/storage/*" \ + --exclude "/home/kunsi/.npm/" \ + --exclude "/home/kunsi/.nvm/" \ + --exclude "/home/kunsi/.platformio/" \ + --exclude "/home/kunsi/.ssh/cm-*" \ + --exclude "/home/kunsi/.vdirsyncer" \ + --exclude "/home/kunsi/Downloads/" \ + --exclude "/home/kunsi/qemu/Windows_10.qcow2" \ + --exclude "/home/kunsi/Schreibtisch/" \ + --exclude "/home/kunsi/VirtualBox VMs/" \ + "/home/kunsi" "kunsi-t470@home.nas":backups/ + + # Exit code 24 means some files have vanished during rsync. + # I don't know why, but this is very common, apparently? + exitcode=$? + if [[ $exitcode != 0 ]] && [[ $exitcode != 24 ]] + then + exit 1 + fi +) # Do updates sudo pacman -Syu --noconfirm