move wrapper to script

This commit is contained in:
James Barnett
2017-01-30 19:56:56 -06:00
parent ba0719e94f
commit 4c72cb4dea
3 changed files with 32 additions and 22 deletions

View File

@@ -11,6 +11,15 @@ version="0.3"
set -e set -e
function error_exit
{
for u in $(users); do
notify_cmd="sudo -u $u DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(sudo -u $u id -u)/bus notify-send"
$notify_cmd 'Error in snap-sync backups. Check journal for more information.' --icon=dialog-error
done
exit 1
}
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
key="$1" key="$1"
case $key in case $key in
@@ -56,6 +65,15 @@ description=${description:-"latest incremental backup"}
uuid_cmdline=${uuid_cmdline:-"none"} uuid_cmdline=${uuid_cmdline:-"none"}
noconfirm=${noconfirm:-"no"} noconfirm=${noconfirm:-"no"}
for u in $(users); do
notify_cmd="sudo -u $u DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(sudo -u $u id -u)/bus notify-send"
if [[ "$uuid_cmdline" != "none" ]]; then
$notify_cmd 'Starting snap-sync backups to '$uuid_cmdline'...' --icon=dialog-information
else
$notify_cmd 'Starting snap-sync backups. Use command line menu to select disk.' --icon=dialog-information
fi
done
if [[ $EUID -ne 0 ]]; then if [[ $EUID -ne 0 ]]; then
printf "Script must be run as root.\n" printf "Script must be run as root.\n"
exit exit
@@ -121,7 +139,7 @@ if [[ -f /etc/conf.d/snapper ]]; then
source /etc/conf.d/snapper source /etc/conf.d/snapper
else else
printf "ERROR: /etc/conf.d/snapper does not exist!\n" printf "ERROR: /etc/conf.d/snapper does not exist!\n"
exit 1 error_exit
fi fi
selected_configs=${selected_configs:-$SNAPPER_CONFIGS} selected_configs=${selected_configs:-$SNAPPER_CONFIGS}
@@ -135,7 +153,7 @@ for x in $selected_configs; do
source /etc/snapper/configs/$x source /etc/snapper/configs/$x
else else
printf "ERROR: Selected snapper configuration $x does not exist.\n" printf "ERROR: Selected snapper configuration $x does not exist.\n"
exit 1 error_exit
fi fi
if [[ $SNAP_SYNC_EXCLUDE == "yes" ]]; then if [[ $SNAP_SYNC_EXCLUDE == "yes" ]]; then
@@ -156,7 +174,7 @@ for x in $selected_configs; do
BACKUPDIR="$selected_mnt/$mybackupdir" BACKUPDIR="$selected_mnt/$mybackupdir"
if [[ ! -d $BACKUPDIR ]]; then if [[ ! -d $BACKUPDIR ]]; then
printf "ERROR: %s is not a directory on %s.\n" "$BACKUPDIR" "$selected_uuid" printf "ERROR: %s is not a directory on %s.\n" "$BACKUPDIR" "$selected_uuid"
exit 1 error_exit
fi fi
fi fi
BACKUPDIRS_ARRAY[$x]=$BACKUPDIR BACKUPDIRS_ARRAY[$x]=$BACKUPDIR
@@ -176,7 +194,7 @@ for x in $selected_configs; do
source /etc/snapper/configs/$x source /etc/snapper/configs/$x
else else
printf "ERROR: Selected snapper configuration $x does not exist.\n" printf "ERROR: Selected snapper configuration $x does not exist.\n"
exit 1 error_exit
fi fi
if [[ $SNAP_SYNC_EXCLUDE == "yes" ]]; then if [[ $SNAP_SYNC_EXCLUDE == "yes" ]]; then
@@ -250,3 +268,12 @@ done
printf "\nDone!\n" printf "\nDone!\n"
exec 3>&- exec 3>&-
for u in $(users); do
notify_cmd="sudo -u $u DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(sudo -u $u id -u)/bus notify-send"
if [[ "$uuid_cmdline" != "none" ]]; then
$notify_cmd 'snap-sync backups to '$1' complete!' --icon=dialog-information
else
$notify_cmd 'snap-sync backups complete!' --icon=dialog-information
fi
done

View File

@@ -1,17 +0,0 @@
#!/bin/bash
# Notifies all users that a backup is running
for u in $(users); do
notify_cmd="sudo -u $u DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(sudo -u $u id -u)/bus notify-send"
$notify_cmd 'Starting snap-sync backups to '$1'...' --icon=dialog-information
/usr/bin/snap-sync --UUID $1 --noconfirm
if [[ $? == 0 ]]; then
$notify_cmd 'snap-sync backups to '$1' complete!' --icon=dialog-information
else
$notify_cmd 'Error in snap-sync backups. Check journal for more information.' --icon=dialog-error
fi
done

View File

@@ -6,4 +6,4 @@ WantedBy=multi-user.target
[Service] [Service]
Type=simple Type=simple
ExecStart=/usr/bin/snap-sync-wrapper %i ExecStart=/usr/bin/snap-sync --UUID %i --noconfirm