Red Hat Training

A Red Hat training course is available for Red Hat Satellite

3.3. Sauvegardes automatisées

Les tâches de sauvegarde peuvent être automatisées de manière à ce qu'elles soient effectuées lors des heures creuses, comme tard le soir ou tôt le matin. Cela permet de vous assurer qu'elles ne sont pas oubliées et qu'elles sont effectuées régulièrement. La manière la plus efficace d'automatiser les sauvegardes est d'utiliser cron.

Procédure 3.3. Automatiser les sauvegardes

Créez un nouveau fichier nommé backup-db.sh contenant la script suivant. Ce script arrêtera le Satellite, effectuera une sauvegarde de la base de données et redémarrera le Satellite :
#!/bin/bash
{
/usr/sbin/rhn-satellite stop
su - oracle -c'
d=db-backup-$(date "+%F");
mkdir -p /tmp/$d;
db-control backup /tmp/$d
';
/usr/sbin/rhn-satellite start
} &> /dev/null
  1. Créez un nouveau fichier nommé move-files.sh contenant le script suivant. Ce script utilisera rsync pour déplacer les fichiers de sauvegarde afin de les stocker dans un répertoire :
    #!/bin/bash
    rsync -avz /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
    
    Remplacez [destination] par le chemin d'accès vers le répertoire des sauvegardes.
    Alternativement, le script suivant utilise scp pour accomplir la même tâche :
    #!/bin/bash
    scp -r /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
    
  2. Passez en mode utilisateur root et ouvrez crontab dans un éditeur de texte :
    crontab -e
    

    Note

    crontab s'ouvrira dans vi par défaut. Pour modifier ce comportement, changez le nom de la variable EDITOR sur le nom de l'éditeur de texte que vous préférez.
  3. Dans crontab, utilisez les cinq premiers champs (minute, heure, jour, mois et jour de la semaine) pour planifier les scripts de sauvegarde à exécuter :
    0 3 * * * backup-db.sh
    0 6 * * * move-files.sh
    
    Cette entrée crontab, exécutera la sauvegarde à 03h00, puis transférera les fichiers à 06h00. D'autres options peuvent aussi être incluses selon les besoins. Vous pouvez aussi inclure un script de nettoyage pour supprimer les anciens répertoires de sauvegardes et éviter ainsi que le stockage des sauvegardes ne soit trop rempli.
  4. Pour enregistrer crontab, quittez simplement l'éditeur de texte. Les nouvelles règles cron seront mises en place immédiatement.