diff options
Diffstat (limited to 'sync-all')
-rwxr-xr-x[l---------] | sync-all | 52 |
1 files changed, 51 insertions, 1 deletions
@@ -1 +1,51 @@ -sync-code
\ No newline at end of file +#!/bin/bash +# +# sync code or home folder across systems +# + +BASENAME="`basename $0`" +DEST="$1" +UNISON="unison" + +# Use the following config if you need to sync with legacy systems +UNISON="unison-2.32.52" + +function sync_code_run { + local config="$1" + + if [ -z "$config" ]; then + return + fi + + if [ -f "$HOME/.unison/$config.prf" ]; then + echo "Starting sync using $config..." + $UNISON $config + else + echo "Skipping absent profile $config." + return + fi +} + +if [ ! -z "$DEST" ]; then + profiles="" + + if [ "$BASENAME" == "sync-code" ] || [ "$BASENAME" == "sync-all" ]; then + profiles="$profiles $DEST-code" + fi + + if [ "$BASENAME" == "sync-irssi" ] || [ "$BASENAME" == "sync-all" ]; then + profiles="$profiles $DEST-irssi" + fi + + if [ "$BASENAME" == "sync-irssi-tor" ] || [ "$BASENAME" == "sync-all" ]; then + profiles="$profiles $DEST-irssi-tor" + fi + + if [ "$BASENAME" == "sync-home" ] || [ "$BASENAME" == "sync-all" ]; then + profiles="$profiles $DEST-home" + fi + + for profile in $profiles; do + sync_code_run $profile + done +fi |