mirror of
https://github.com/samsonjs/samhuri.net.git
synced 2026-04-07 10:55:54 +00:00
53 lines
814 B
Bash
Executable file
53 lines
814 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# exit on errors
|
|
set -e
|
|
|
|
bail() {
|
|
echo fail: $*
|
|
exit 1
|
|
}
|
|
|
|
publish_host="samhuri.net"
|
|
publish_dir="samhuri.net/public/"
|
|
prefix=""
|
|
delete=""
|
|
|
|
break_while=0
|
|
while [[ $# > 1 ]]; do
|
|
|
|
arg="$1"
|
|
|
|
case "$arg" in
|
|
|
|
-t|--test)
|
|
prefix=echo
|
|
shift
|
|
;;
|
|
|
|
-d|--delete)
|
|
# passed to rsync
|
|
delete="--delete"
|
|
shift
|
|
;;
|
|
|
|
# we're at the paths, no more options
|
|
*)
|
|
break_while=1
|
|
break
|
|
;;
|
|
|
|
esac
|
|
|
|
[[ $break_while -eq 1 ]] && break
|
|
|
|
done
|
|
|
|
if [[ $# -eq 0 ]]; then
|
|
if [[ "$delete" != "" ]]; then
|
|
bail "no paths given, cowardly refusing to publish everything with --delete"
|
|
fi
|
|
$prefix rsync -aKv $delete public/* "$publish_host":"${publish_dir}"
|
|
else
|
|
$prefix rsync -aKv $delete "$@" "$publish_host":"${publish_dir}"
|
|
fi
|