1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/restic_ynh.git synced 2024-09-03 20:16:22 +02:00

feat: summarize backup log

This commit is contained in:
Lionel Coupouchetty-Ramouchetty 2020-11-14 18:03:13 +01:00
parent ff7d09898e
commit a76bd63d89
5 changed files with 54 additions and 2 deletions

15
conf/restic_log.j2 Normal file
View file

@ -0,0 +1,15 @@
#!/bin/bash
set -u
invocation_id=$(systemctl show -p InvocationID --value restic.service)
hostname=$(hostname)
subject="YunoHost Restic backup log on ${hostname}"
backup_results=$(/bin/journalctl _SYSTEMD_INVOCATION_ID=${invocation_id} | grep -oP '(?<= )[a-zA-Z_-]+: \w+')
echo ${backup_results} | grep -iqE 'error|fail'
if [ "$?" -eq 0 ];then
subject="${subject} (FAIL)"
else
subject="${subject} (SUCCESS)"
fi
echo "${backup_results}" | mail -s "${subject}" root

View file

@ -5,7 +5,7 @@ After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup-with-__APP__
ExecStartPost=/bin/bash -c 'echo -e "Subject: YunoHost Restic backup log on $(hostname)\n$(/bin/journalctl _SYSTEMD_INVOCATION_ID=`systemctl show -p InvocationID --value __APP__.service`)" | /usr/sbin/sendmail root'
ExecStartPost=/opt/yunohost/__APP__/restic_log
User=root
Group=root

View file

@ -6,7 +6,7 @@
"en": "Backup your server with restic.",
"fr": "Sauvegardez votre serveur avec restic."
},
"version": "0.10.0~ynh3",
"version": "0.10.0~ynh4",
"url": "https://restic.net/",
"license": "BSD-2-Clause",
"maintainer": {

View file

@ -50,6 +50,13 @@ ynh_script_progression --message="Setting up backup methods"
ynh_configure backup_method "/etc/yunohost/hooks.d/backup_method/05-${app}_app"
ynh_configure check_method "${final_path}/check_method"
#=================================================
# SETUP LOG SCRIPT
#=================================================
ynh_script_progression --message="Setting up log script"
ynh_configure restic_log "${final_path}/restic_log"
chmod u+x "${final_path}/restic_log"
#=================================================
# CONFIGURE CRON
#=================================================

View file

@ -14,6 +14,7 @@ source /usr/share/yunohost/helpers
#=================================================
app=$YNH_APP_INSTANCE_NAME
export final_path="/opt/yunohost/${app}"
#=================================================
# CHECK IF AN UPGRADE IS NEEDED
@ -44,3 +45,32 @@ fi
# INSTALL RESTIC
#=================================================
install_restic
#=================================================
# CONFIGURE SERVICES
#=================================================
ynh_add_systemd_config --service=${app} --template=systemd.service
ynh_configure systemd.timer "/etc/systemd/system/${app}.timer"
systemctl disable ${app}.service
systemctl enable ${app}.timer
#=================================================
# ACTIVATE BACKUP METHODS
#=================================================
ynh_script_progression --message="Activating backup methods"
mkdir -p /etc/yunohost/hooks.d/backup_method || true
mkdir -p /usr/share/yunohost/backup_method || true
#=================================================
# SETUP THE BACKUP METHOD
#=================================================
ynh_script_progression --message="Setting up backup methods"
ynh_configure backup_method "/etc/yunohost/hooks.d/backup_method/05-${app}_app"
ynh_configure check_method "${final_path}/check_method"
#=================================================
# SETUP LOG SCRIPT
#=================================================
ynh_script_progression --message="Setting up log script"
ynh_configure restic_log "${final_path}/restic_log"
chmod u+x "${final_path}/restic_log"