1
0
Fork 0
ynh-lydra-ansible-yunohost/roles/ynh_backup/templates/ynh_backup.sh.j2
2022-07-25 13:16:54 +00:00

33 lines
1,018 B
Django/Jinja

#!/bin/bash
today="$(date +%Y%m%d)"
number_to_keep="{{ number_days_to_keep }}"
old_backup_list="$(yunohost backup list --output-as plain | head -n -"$number_to_keep")" # Afficher toutes les lignes de sauvegardes à part les deux dernières.
_good() {
echo "SUCCESS: ${1}" && exit 0
}
_fail() {
echo "ERROR: ${1}" && exit 1
}
_create_ynh_backup() {
echo "Backing up $today YunoHost data now."
yunohost backup create {% if ynh_backup.system %}--system{% endif %}{% if ynh_backup.apps %} --apps{% endif %}{% if ynh_backup.directory %} --output-directory {{ ynh_backup.directory }}/backup_"$today" {% endif %} || _fail "can't create a backup"
}
_prune_old_backup() {
if [ -n "$old_backup_list" ]; then
for backup in $old_backup_list; do
echo "Backup $backup is 2 days old or more. Purging it now."
yunohost backup delete "$backup"
done
_good "Purging of old backups completed."
else
_good "There is no old backup to be purged."
fi
}
_create_ynh_backup
_prune_old_backup