scripts/sync: lift out of flake

This commit is contained in:
Colin 2024-06-13 03:09:02 +00:00
parent 6d1db1ee67
commit 1c79209e23

35
scripts/sync Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env nix-shell
#!nix-shell -p rsync -p sane-scripts.sync-music
usage() {
echo "sync <host> [passthrough flags]"
exit 1
}
host="$1"
shift
case "$host" in
desko)
sudo mount /mnt/desko/home
sane-sync-music --compat /mnt/servo/media/Music /mnt/desko/home/Music "$@"
;;
lappy)
sudo mount /mnt/lappy/home
sane-sync-music --compress --compat /mnt/servo/media/Music /mnt/lappy/home/Music "$@"
;;
moby)
sudo mount /mnt/moby/home
sudo mount /mnt/desko/home
sudo mount /mnt/servo/media/Books
# copy photos/screenshots from moby to desko:
rsync -arv --exclude servo-macros /mnt/moby/home/Pictures/ /mnt/desko/home/Pictures/moby/
# copy books from servo to moby; delete old/untracked ones, but keep KOreader state files (sdr)
rsync -arv --delete --exclude unprocessed --exclude '*.sdr' /mnt/servo/media/Books/ /mnt/moby/home/Books/local/servo/
# N.B.: limited by network/disk -> reduce job count to improve pause/resume behavior
sane-sync-music --compress --compat --jobs 4 /mnt/servo/media/Music /mnt/moby/home/Music "$@"
;;
(*)
usage
;;
esac