From f50055f26a5e7db199e5daa32565314fb75358a1 Mon Sep 17 00:00:00 2001 From: Erik Westrup Date: Sun, 26 Aug 2018 15:54:35 +0200 Subject: [PATCH] Let journalctl be the log file maintainer Fixes #3 --- README.md | 9 ++++++++- usr/local/sbin/restic_backup.sh | 9 --------- usr/local/sbin/restic_check.sh | 9 --------- usr/local/sbin/systemd-email | 4 ++-- 4 files changed, 10 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 960503a..a35993b 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,6 @@ Now see if the backup itself works, by running ```bash $ /usr/local/sbin/restic_backup.sh -$ less /var/local/log/restic/* $ restic snapshots ```` @@ -86,6 +85,14 @@ or start a backup manually $ systemctl start restic-backup ``` +You can follow the backup stdout output live as backup is running with: + +```bash +$ journalctl -f -u restic-backup.service +```` + +(skip `-f` to see all backups that has run) + ### 7. Email notification on failure diff --git a/usr/local/sbin/restic_backup.sh b/usr/local/sbin/restic_backup.sh index 1f5aac2..9e1c9fa 100644 --- a/usr/local/sbin/restic_backup.sh +++ b/usr/local/sbin/restic_backup.sh @@ -5,15 +5,6 @@ # Exit on failure, pipe failure set -e -o pipefail -# Redirect stdout ( > ) into a named pipe ( >() ) running "tee" to a file, so we can observe the status by simply tailing the log file. -me=$(basename "$0") -now=$(date +%F_%R) -log_dir=/var/local/log/restic -log_file="${log_dir}/${now}_${me}.$$.log" -test -d $log_dir || mkdir -p $log_dir -exec > >(tee -i $log_file) -exec 2>&1 - # Clean up lock if we are killed. # If killed by systemd, like $(systemctl stop restic), then it kills the whole cgroup and all it's subprocesses. # However if we kill this script ourselves, we need this trap that kills all subprocesses manually. diff --git a/usr/local/sbin/restic_check.sh b/usr/local/sbin/restic_check.sh index 346682d..3cb0efe 100644 --- a/usr/local/sbin/restic_check.sh +++ b/usr/local/sbin/restic_check.sh @@ -5,15 +5,6 @@ # Exit on failure, pipe failure set -e -o pipefail -# Redirect stdout ( > ) into a named pipe ( >() ) running "tee" to a file, so we can observe the status by simply tailing the log file. -me=$(basename "$0") -now=$(date +%F_%R) -log_dir=/var/local/log/restic -log_file="${log_dir}/${now}_${me}.$$.log" -test -d $log_dir || mkdir -p $log_dir -exec > >(tee -i $log_file) -exec 2>&1 - # Clean up lock if we are killed. # If killed by systemd, like $(systemctl stop restic), then it kills the whole cgroup and all it's subprocesses. # However if we kill this script ourselves, we need this trap that kills all subprocesses manually. diff --git a/usr/local/sbin/systemd-email b/usr/local/sbin/systemd-email index a96dca7..7180509 100644 --- a/usr/local/sbin/systemd-email +++ b/usr/local/sbin/systemd-email @@ -5,14 +5,14 @@ # Usage: systemd-email -# According to +# According to # http://www.flashissue.com/blog/gmail-sending-limits/ # Gmail blocks your account if you send more than 500 emails per day, which is one email every # (24 * 60 * 60) / 500 = 172.8 second => choose a min wait time which is significantly longer than this to be on the safe time to not exceed 500 emails per day. # However this source # https://group-mail.com/sending-email/email-send-limits-and-options/ # says the limit when not using the Gmail webinterface but going directly to the SMTP server is 100-150 per day, which yelds maximum one email every -# (24 * 60 * 60) / 100 = 864 second +# (24 * 60 * 60) / 100 = 864 second # One option that I used with my old Axis cameras it to use my gmx.com accunt for sending emails instead, as there are (no?) higher limits there. MIN_WAIT_TIME_S=900 SCRIPT_NAME=$(basename $0)