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:
parent
ff7d09898e
commit
a76bd63d89
5 changed files with 54 additions and 2 deletions
15
conf/restic_log.j2
Normal file
15
conf/restic_log.j2
Normal 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
|
|
@ -5,7 +5,7 @@ After=network.target
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=/usr/local/bin/backup-with-__APP__
|
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
|
User=root
|
||||||
Group=root
|
Group=root
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"en": "Backup your server with restic.",
|
"en": "Backup your server with restic.",
|
||||||
"fr": "Sauvegardez votre serveur avec restic."
|
"fr": "Sauvegardez votre serveur avec restic."
|
||||||
},
|
},
|
||||||
"version": "0.10.0~ynh3",
|
"version": "0.10.0~ynh4",
|
||||||
"url": "https://restic.net/",
|
"url": "https://restic.net/",
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"maintainer": {
|
"maintainer": {
|
||||||
|
|
|
@ -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 backup_method "/etc/yunohost/hooks.d/backup_method/05-${app}_app"
|
||||||
ynh_configure check_method "${final_path}/check_method"
|
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
|
# CONFIGURE CRON
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -14,6 +14,7 @@ source /usr/share/yunohost/helpers
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
app=$YNH_APP_INSTANCE_NAME
|
app=$YNH_APP_INSTANCE_NAME
|
||||||
|
export final_path="/opt/yunohost/${app}"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CHECK IF AN UPGRADE IS NEEDED
|
# CHECK IF AN UPGRADE IS NEEDED
|
||||||
|
@ -44,3 +45,32 @@ fi
|
||||||
# INSTALL RESTIC
|
# INSTALL RESTIC
|
||||||
#=================================================
|
#=================================================
|
||||||
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"
|
||||||
|
|
Loading…
Reference in a new issue