summaryrefslogtreecommitdiff
path: root/.old/sinkold
diff options
context:
space:
mode:
Diffstat (limited to '.old/sinkold')
-rwxr-xr-x.old/sinkold48
1 files changed, 48 insertions, 0 deletions
diff --git a/.old/sinkold b/.old/sinkold
new file mode 100755
index 0000000..3022963
--- /dev/null
+++ b/.old/sinkold
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+printusage() { echo "Usage: $0 [<repos> ...] (repos: all,`echo $repos | tr ' ' ','`) [up|down]" && exit; }
+
+repos="docs patches"
+
+oper=`echo $@ | sed 's/.* //'` # Get last argument
+([ -z $2 ] || ([ "$oper" != "up" ] && [ "$oper" != "down" ])) && printusage
+
+# rync options
+#fix this too
+ropts="--archive --partial --progress --recursive --update --verbose" # Equivalent to: -aPrvu --delete
+rdest="tjkrsync@tjkeller.xyz:"
+
+# Colors
+BOLD="\033[1m"
+NORM="\033[0m"
+CYN="\033[0;36m"
+RED="\033[0;31m"
+GRN="\033[0;32m"
+
+printsyncmsg() { echo -n "$CYN[Syncing $SYNCNAME...]$NORM\n"; }
+printsuccess() { echo -n "$BOLD$GRN[Successfully synced $SYNCNAME]\n"; }
+printerror() { echo -n "$BOLD$RED[An error occured while syncing $SYNCNAME]\n"; }
+
+sync() {
+ [ $oper = "up" ] && SYNCNAME="$1$2 to $rdest$2" || SYNCNAME="$rdest$2 to $1$2"
+ printsyncmsg
+ (if [ $oper = "up" ]; then rsync $ropts $1$2 $rdest; else rsync $ropts --delete $rdest$2 $1; fi) \
+ && printsuccess || printerror
+}
+
+# arg1 = options + containing directory path, arg2 = file/directory name
+syncdocs() { destdir="" && sync "/home/timmy/docs/" "school"; }
+#syncsites() { destdir="" && sync "--exclude=pass /home/timmy/.local/src/" "sites"; } # Excludes password file
+syncpatches() { destdir="" && sync "--exclude=.git /home/timmy/.local/src/programs/" "patches"; } # Excludes git files
+
+for arg in "$@"; do
+ case $arg in
+ all) $0 $repos $oper ;;
+ up|down) oper=$arg ;;
+ *) # Would like to use something like $repos) here but cant
+ for repo in $repos; do
+ [ "$arg" = "$repo" ] && sync$arg && break
+ done || printusage
+ ;;
+ esac
+done