Sauvegardes automatiques à j-1, j-7 et j-30


#1

Bonjour,

J’ai créé un petit script pour effectuer des sauvegardes automatiques. Mon script supprime les anciennes sauvegardes en conservant certaines versions : la veille, l’avant veille, le dimanche précédent, le premier du mois, et le premier du mois précédent.

Le script est fourni sans garantie :

#!/bin/bash

# Creates a backup and removes some of the previous backups
# Backups are created with the following prefix
PREFIX="automatic-"
# All backups with the previous prefix are deleted except the following dates
TODAY=`date '+%Y-%m-%d'`
YESTERDAY=`date -d "yesterday" '+%Y-%m-%d'`
DAY_BEFORE_YESTERDAY=`date -d "2 days ago" '+%Y-%m-%d'`
LAST_SUNDAY=`date -d "last Sunday" '+%Y-%m-%d'`
BEGINNING_OF_MONTH=`date '+%Y-%m-01'`
BEGINNING_OF_LAST_MONTH=`date -d "last month" '+%Y-%m-01'`

yunohost backup create -n $PREFIX$TODAY
cd /home/yunohost.backup/archives
rm `ls | grep $PREFIX | grep -v "$TODAY\|$YESTERDAY\|$DAY_BEFORE_YESTERDAY\|$LAST_SUNDAY\|$BEGINNING_OF_MONTH\|$BEGINNING_OF_LAST_MONTH"`
yunohost backup list

#2

Salut,

Merci pour le script. Perso j’utilise quelque chose de bien moins évolué : de simples tâches cron, et je ne delete pas automatiquement mes anciennes sauvegardes.

Si dessous mes tâches : sauvegarde système tous les dimanches à 4 heure du mat’ et sauvegarde complète tous les 15 jours à 4H05 :

#YUNOHOST BACKUP
0 4 * * 7 yunohost backup create --system
5 4 */15 * * yunohost backup create

Si vous voulez les utiliser, loguez vous en root et entrez la commande crontab -e pour éditer le fichier.


#3

Merci pour le partage @djib ! J’ai mis ca en place avec un cron , en séparant : un backup système seul et un backup apps seules. Du coup j’ai exclu mon nextcloud de la sauvegarde (puisque les fichiers sont déjà backup sur mon ordi en local), et j’ai réglé le rythme de sauvegardes à 7j.

Si ca intéresse du monde je peux partager mon script aussi.


#4

N’hésite pas à le publier, ça pourras toujours inspirer des utilisateurs :slight_smile:


#5

Sitôt dit, sitôt fait :smile:
https://paste.yunohost.org/ufonicacop.bash