local-bin/apsalar/icloudsync

72 lines
1.3 KiB
Plaintext
Raw Normal View History

2024-10-14 10:02:22 +03:00
#!/bin/sh
# Sync icloud photos to machine using a
# simple wrapper for tmux and icloudpd
# Check if icloudpd is available
if ! type icloudpd >/dev/null; then
echo "please install icloud photo downloader."
echo "See: https://github.com/icloud-photos-downloader/icloud_photos_downloader"
exit 1
2024-10-14 10:02:22 +03:00
fi
# tmux session name
session="icloudsync"
attach () {
tmux attach-session -t $session
}
check_session () {
tmux has-session -t $session 2>/dev/null
if [ $? == 0 ]; then
return 1
else
return 0
fi
}
start_sync () {
if check_session 0; then
tmux new-session -d -s $session
tmux send-keys -t $session 'icloudpd --directory=$HOME/Pictures --username $ICLOUD_USERNAME --watch-with-interval 3600' C-m
echo started
else
echo already active
2024-10-14 10:02:22 +03:00
fi
}
stop_sync () {
tmux send-keys -t $session C-c exit C-m
echo stopped
}
status () {
if check_session 0; then
echo inactive
else
tmux capture-pane -t icloudsync -p -S -1 | tail -1
fi
}
if [[ $# -eq 0 ]]; then
echo "Available commands are: start, stop, attach, status"
2024-10-14 10:02:22 +03:00
fi
while [[ $# -gt 0 ]]; do
case $1 in
start)
start_sync
;;
stop)
stop_sync
;;
attach)
attach
;;
status)
status
;;
esac
exit
done