Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
ynh_backup.sh.j2 1014 B
Newer Older
#!/bin/bash
today="$(date +%Y%m%d)"
number_to_keep="{{ ynh_backup.number_days_to_keep | default("2") }}"
old_backup_list="$(yunohost backup list --output-as plain | head -n -"$number_to_keep")"
_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 | default(True) %}--system{% endif %}{% if ynh_backup.apps | default(True) %} --apps{% endif %}{% if ynh_backup.directory is defined %} --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