iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixes and qd for better source subvol error repo
[distro-setup]
/
switch-mail-host
diff --git
a/switch-mail-host
b/switch-mail-host
index ffff83e264dbce8b7e1034d85aea10a055711712..0132819ba491fddd6299c7bca20d357d5d4149ee 100644
(file)
--- a/
switch-mail-host
+++ b/
switch-mail-host
@@
-10,6
+10,10
@@
Turn off mail receiving on OLD_HOST, run btrbk to move mail to NEW_HOST,
turn on mail receiving on NEW_HOST. Assumes we want to move all
filesystems unless passing -o.
turn on mail receiving on NEW_HOST. Assumes we want to move all
filesystems unless passing -o.
+-a Avoid snapshot /a, /q, and similar. If we haven't
+ made any changes in the last hour, there is no
+ need to snapshot anything but /o, and we will
+ just do that once.
-i Disallow incremental backup.
-o Only btrbk /o, instead of all filesystems.
--force Run even though our local state does not say that MAIL_HOST is
-i Disallow incremental backup.
-o Only btrbk /o, instead of all filesystems.
--force Run even though our local state does not say that MAIL_HOST is
@@
-57,11
+61,12
@@
fi
mail_only=false
host2_only=false
force=false
mail_only=false
host2_only=false
force=false
-mp_args="-m /o,/a,/ar,/q,/qr"
-temp=$(getopt -l force,help ioh "$@") || usage 1
+mp_args="-m /o,/a,/ar,/q,/q
d,/q
r"
+temp=$(getopt -l force,help
a
ioh "$@") || usage 1
eval set -- "$temp"
while true; do
case $1 in
eval set -- "$temp"
while true; do
case $1 in
+ -a) snapshot_arg=resume ;;
--force) force=true ;;
-i) incremental_arg="-i" ;;
-o)
--force) force=true ;;
-i) incremental_arg="-i" ;;
-o)
@@
-138,18
+143,19
@@
esac
if $mail_only; then
mp_args="-m /o"
elif $host2_only; then
if $mail_only; then
mp_args="-m /o"
elif $host2_only; then
- mp_args="-m /a,/ar,/q,/qr"
+ mp_args="-m /a,/ar,/q,/q
d,/q
r"
fi
fi
-
-if $host2_only; then
- if [[ $old_hostname != "$HOST2" ]]; then
- err "\$old_hostname($old_hostname) != \$HOST2($HOST2). Rerun with --force if you really want this."
+if ! $force; then
+ if $host2_only; then
+ if [[ $old_hostname != "$HOST2" ]]; then
+ err "\$old_hostname($old_hostname) != \$HOST2($HOST2). Rerun with --force if you really want this."
+ exit 1
+ fi
+ elif [[ $old_hostname != "$MAIL_HOST" ]]; then
+ err "\$old_hostname($old_hostname) != \$MAIL_HOST($MAIL_HOST). Rerun with --force if you really want this."
exit 1
fi
exit 1
fi
-elif [[ $old_hostname != "$MAIL_HOST" ]] && ! $force; then
- err "\$old_hostname($old_hostname) != \$MAIL_HOST($MAIL_HOST). Rerun with --force if you really want this."
- exit 1
fi
if [[ ! $new_host || ! $old_host ]]; then
fi
if [[ ! $new_host || ! $old_host ]]; then
@@
-241,7
+247,7
@@
EOF
e Running initial btrbk
e Running initial btrbk
-m btrbk-run -v $bbk_args $incremental_arg $mp_args || ret=$?
+m btrbk-run -v $bbk_args $incremental_arg $mp_args
$snapshot_arg
|| ret=$?
if (( ret )); then
err "failed initial btrbk"
exit $ret
if (( ret )); then
err "failed initial btrbk"
exit $ret