Thanks for odrive. It took me a few goes to get it set up and working via Bash scripts (on Linux Mint 18), but I now have it set up so that I can easily sync with various cloud services on demand. I saw some discussion about odrive and encryption, but I find that using Borg Deduplicating Archiver in conjunction with odrive meets my needs - worth looking at for anyone who wants their stuff encrypted before syncing. By way of a small token of thanks, here’s the snippet of script I’m using to get a continuously updating display of the syncstate which includes checking for keyboard input (P or Q) to pause or quit. The pause is not a true pause because it just temporarily unmounts odrive, and consequently ‘unpausing’ is really a restart, but I think it’s better than nothing.
odrive_py="$HOME/.odrive-agent/bin/odrive.py" odrive_mountpoint="$HOME/mnt/odrive" tput civis -- invisible while $(python "$odrive_py" syncstate "$odrive_mountpoint") != *Synced* do tput cup 3 0 python "$odrive_py" syncstate "$odrive_mountpoint" echo echo "Press P to Pause, Q to Quit" if read -t 0.2 -n 1 keypress; then if [ "$keypress" = "p" ]; then # Temporarily unmount odrive python "$odrive_py" unmount "$odrive_mountpoint" read -p "Press any key to restart sync" -n1 junk clear # Remount odrive python "$odrive_py" mount "$odrive_mountpoint" / elif [ "$keypress" = "q" ]; then break fi fi sleep 1s done if [ "$keypress" = "q" ]; then # Unmount odrive python "$odrive_py" unmount "$odrive_mountpoint" # Shut down sync agent python $odrive_py shutdown fi
Note that it requires the sync-agent to be running and the odrive_mountpoint to be already mounted. It works for me, and anyone is welcome to use or adapt it for their own needs.