samhuri.net/bin/publish
2026-02-01 20:45:12 -08:00

54 lines
848 B
Bash
Executable file

#!/bin/bash
# exit on errors
set -e
PUBLISH_HOST="mudge"
PUBLISH_DIR="/var/www/samhuri.net/public"
ECHO=0
RSYNC_OPTS=""
BREAK_WHILE=0
while [[ $# > 0 ]]; do
ARG="$1"
case "$ARG" in
-b|--beta)
PUBLISH_DIR="/var/www/beta.samhuri.net/public"
shift
;;
-t|--test)
ECHO=1
RSYNC_OPTS="$RSYNC_OPTS --dry-run"
shift
;;
-d|--delete)
RSYNC_OPTS="$RSYNC_OPTS --delete"
shift
;;
# we're at the paths, no more options
*)
BREAK_WHILE=1
break
;;
esac
[[ $BREAK_WHILE -eq 1 ]] && break
done
declare -a CMD
if [[ $# -eq 0 ]]; then
CMD=(rsync -aKv -e "ssh -4" $RSYNC_OPTS www/ $PUBLISH_HOST:$PUBLISH_DIR)
else
CMD=(rsync -aKv -e "ssh -4" $RSYNC_OPTS $@ $PUBLISH_HOST:$PUBLISH_DIR)
fi
if [[ $ECHO -eq 1 ]]; then
echo "${CMD[@]}"
fi
"${CMD[@]}"