iankelling.org
/
git
/
distro-setup
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
a8aa03c
)
bug fix
author
Ian Kelling
<iank@fsf.org>
Tue, 2 Apr 2019 17:25:51 +0000
(13:25 -0400)
committer
Ian Kelling
<iank@fsf.org>
Tue, 2 Apr 2019 17:25:51 +0000
(13:25 -0400)
btrbk-run
patch
|
blob
|
history
mount-latest-subvol
patch
|
blob
|
history
diff --git
a/btrbk-run
b/btrbk-run
index 4762b2fd553319a0bfaca886f893ea29d85ac2c0..602422987946e1c87b4dbf3e86094108056706c2 100755
(executable)
--- a/
btrbk-run
+++ b/
btrbk-run
@@
-53,7
+53,7
@@
if [[ -s $default_args_file ]]; then
set -- $(< $default_args_file) "$@"
fi
set -- $(< $default_args_file) "$@"
fi
-temp=$(getopt -l help cl:m:npt:vh "$@") || usage 1
+temp=$(getopt -l help cl:m:np
s:
t:vh "$@") || usage 1
eval set -- "$temp"
while true; do
case $1 in
eval set -- "$temp"
while true; do
case $1 in
@@
-87,7
+87,7
@@
if [[ -s $default_args_file ]]; then
sleep 5
fi
sleep 5
fi
-if [[ -v targets &&
-v
source ]]; then
+if [[ -v targets &&
$
source ]]; then
echo "$0: error: -t and -s are mutually exclusive" >&2
exit 1
fi
echo "$0: error: -t and -s are mutually exclusive" >&2
exit 1
fi
@@
-95,7
+95,7
@@
fi
echo -e "$0: options: conf_only=$conf_only\ndry_run=$dry_run\nrate_limit=$rate_limit\nverbose=$verbose\ncmd_arg=$cmd_arg"
# set default targets
echo -e "$0: options: conf_only=$conf_only\ndry_run=$dry_run\nrate_limit=$rate_limit\nverbose=$verbose\ncmd_arg=$cmd_arg"
# set default targets
-if [[ ! -v targets && !
-v
source ]]; then
+if [[ ! -v targets && !
$
source ]]; then
case $HOSTNAME in
x2|kw)
if [[ $HOSTNAME == "$MAIL_HOST" ]]; then
case $HOSTNAME in
x2|kw)
if [[ $HOSTNAME == "$MAIL_HOST" ]]; then
@@
-124,7
+124,7
@@
if [[ -v targets ]]; then
echo "targets: ${targets[*]}"
fi
echo "targets: ${targets[*]}"
fi
-if [[
-v
source ]]; then
+if [[
$
source ]]; then
echo "source: $source"
fi
echo "source: $source"
fi
@@
-222,7
+222,7
@@
EOF
-for tg in ${targets[@]:-
localhost
}; do
+for tg in ${targets[@]:-
$HOSTNAME
}; do
# for an initial run, btrbk requires the dir to exist.
ssh root@$tg mkdir -p /mnt/root/btrbk
done
# for an initial run, btrbk requires the dir to exist.
ssh root@$tg mkdir -p /mnt/root/btrbk
done
@@
-232,9
+232,9
@@
done
vol=/mnt/root
for m in ${mountpoints[@]}; do
sub=${m##*/}
vol=/mnt/root
for m in ${mountpoints[@]}; do
sub=${m##*/}
- if [[
-v
source ]]; then
+ if [[
$
source ]]; then
cat >>/etc/btrbk.conf <<EOF
cat >>/etc/btrbk.conf <<EOF
-volume ssh://$source$vol
/btrbk
+volume ssh://$source$vol
subvolume $sub
target send-receive $vol/btrbk
EOF
subvolume $sub
target send-receive $vol/btrbk
EOF
@@
-265,18
+265,18
@@
fi
if $dry_run; then
m btrbk -v -n $cmd_arg
elif [[ $cmd_arg == archive ]]; then
if $dry_run; then
m btrbk -v -n $cmd_arg
elif [[ $cmd_arg == archive ]]; then
- if [[
-v
source ]]; then
+ if [[
$
source ]]; then
m btrbk $verbose_arg $progress_arg $cmd_arg ssh://$source$vol $vol
else
for tg in ${targets[@]}; do
m btrbk $verbose_arg $progress_arg $cmd_arg $vol ssh://$tg$vol
done
fi
m btrbk $verbose_arg $progress_arg $cmd_arg ssh://$source$vol $vol
else
for tg in ${targets[@]}; do
m btrbk $verbose_arg $progress_arg $cmd_arg $vol ssh://$tg$vol
done
fi
-else
- # -q and just using the syslog option seemed nice,
- # but it doesn't show when a send has a parent and when it doesn't.
- m btrbk $verbose_arg $progress_arg $cmd_arg
+ exit 0
fi
fi
+# -q and just using the syslog option seemed nice,
+# but it doesn't show when a send has a parent and when it doesn't.
+m btrbk $verbose_arg $progress_arg $cmd_arg
# if we have it, sync to systems which don't
if mountpoint $rsync_mountpoint >/dev/null; then
# if we have it, sync to systems which don't
if mountpoint $rsync_mountpoint >/dev/null; then
@@
-294,12
+294,13
@@
if mountpoint $rsync_mountpoint >/dev/null; then
done
fi
done
fi
-if ! $dry_run; then
- # note, targets will be empty if source is set.
- m $script_dir/mount-latest-remote ${targets[@]}
+PATH=$script_dir:$PATH
+if [[ $source ]]; then
+ m mount-latest-subvol
+else
+ m mount-latest-remote ${targets[@]}
fi
fi
-
# todo: move variable data we don't care about backing up
# to /nocow and symlink it.
# todo: move variable data we don't care about backing up
# to /nocow and symlink it.
diff --git
a/mount-latest-subvol
b/mount-latest-subvol
index bf5ec9c844e27221d0a91548dfc834f16fdb6b05..215b07f8faf0f73ef227005ae693b17f626caf9d 100644
(file)
--- a/
mount-latest-subvol
+++ b/
mount-latest-subvol
@@
-15,6
+15,8
@@
# usage: mount-latest-subvol
# usage: mount-latest-subvol
+# TODO, check our current directory, make sure we arent going to kill ourselves
+
[[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@"
errcatch() {
[[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@"
errcatch() {