m() { if $verbose; then printf "$pre%s\n" "$*"; fi; "$@"; }
e() { printf "$pre%s\n" "$*"; }
die() { printf "$pre%s\n" "$*" >&2; echo "exiting with status 1" >&2; exit 1; }
-mexit() { echo "exiting with status $1"; exit $1; }
+mexit() { echo "$pre: exiting with status $1"; exit $1; }
# latest $MAIL_HOST
if [[ -e /b/bash_unpublished/source-state ]]; then
rsync_mountpoint=/q
+ret=0
# default options
conf_only=false
dry_run=false # mostly for testing
rate_limit=no
verbose=true; verbose_arg=-v
progress_arg="--progress"
+incremental_strict=true
pull_reexec=false
default_args_file=/etc/btrbk-run.conf
cron=false
orig_args=("$@")
-temp=$(getopt -l cron,pull-reexec,help cl:m:npqs:t:vh "$@") || usage 1
+temp=$(getopt -l cron,pull-reexec,help cil:m:npqs:t:vh "$@") || usage 1
eval set -- "$temp"
while true; do
case $1 in
;;
# only creates the config file, does not run btrbk
-c) conf_only=true; shift ;;
+ -i) incremental_strict=false; shift ;;
# bytes per second, suffix k m g
-l) rate_limit=$2; shift 2 ;;
# Comma separated mountpoints to backup. This has defaults set below.
fi
### end options parsing
+if ! btrbk --version |& grep 0.29.0 >/dev/null; then
+ cd /a/opt/btrbk
+ m sudo make install
+fi
# TODO: i wonder if there should be an option to send to the default
# targets, plus any given on the command line.
;;&
x2|x3)
if ping -q -c1 -w1 hal.office.fsf.org \
- && ip n show 192.168.0.26 | grep . &>/dev/null; then
- at_work=true
+ && ip n show 192.168.0.26 | grep . &>/dev/null; then
+ at_work=true
fi
;;&
kw|x2|x3)
fi
;;&
kw)
- targets=($home x2)
+ targets=($home x3)
;;
x2|x3)
targets=($home kw)
rate_limit $rate_limit
EOF
-
-
-
+if $incremental_strict; then
+ cat >>/etc/btrbk.conf <<EOF
+incremental strict
+EOF
+fi
vol=/mnt/root
for m in ${mountpoints[@]}; do
m /a/exe/mount-latest-remote ${targets[@]}
fi
-e btrbk-run COMPLETED with exit status $ret
mexit $ret
# todo: move variable data we don't care about backing up