Skip to main content

configuration-serveur-cron

Configuration du serveur sous ubuntu ou debian avec une sauvegarde à minuit de chaque jours.

Introduction:

Nous allons configurer un serveur sous debian ou Ubuntu avec une sauvegarde automatique tous les jours à minuit, vous pouvez utiliser un script bash pour éffectuer la sauvegarde et Cron pour la planification de l'éxécution du script.

Prémiere étapes:

Créez un script bash qui sauvegarde les fichiers ou répertoires souhaités. Par exemple, la sauvegarde du répertoire /var/www

  1. Ouvrez un terminal et créez un fichier de script:
sudo nano /usr/localbin/backup_script.sh
  1. Ajoutez le contenue suivant au script:
#!/bin/bash

# Répertoire à sauvegarder
SOURCE_DIR="/var/www"

# Répertoire de destination pour les sauvegarde
BACKUP_DIR="/backups"

# Nom du fichier de sauvegarde (avec la date)
BACKUP_FILE="backup_$(date + %Y%m%d_%H%M%S).tar.gz"

# Créer le répertoire de sauvegarde s'il n'existe pas
mkdir -p $BACKUP_DIR

# Créer la sauvegarde
tar -czf $BACKUP_DIR/$BACKUP_FILE $SOURCE_DIR

# Supprimer les sauvegardes de plus de 7 jours.
find $BACKUP_DIR -type f -name "backup_*.tar.gz" -mtime +7 -exec rm {} \;

echo "Sauvegarde terminée :
$BACKUP_DIR/$BACKUP_FILE"

  1. Rendez le script éxécutable:
sudo chmod +x /usr/local/bin/backup_script.sh

Planification de la sauvegarde avec cron

Utilisons cron pour éxécuter le script de sauvegarde tous les jours à minuit.

  1. Ouvrez le fichier crontab pour l'utilisateur root:
sudo contab -e
  1. Ajoutez la ligne suivante pour exécuter le script tous les jours à minuit:
0 0 * * * /usr/local/bin/backup_script.sh
  • 0 0 * * * signifie à minuit (00:00) tous les jours.
  • /usr/local/bin/backup_script.sh est le chemin complet de sauvegarde.
  1. Sauvegardez et fermez le fichier crontab.

Tester la sauvegarde

  1. Testez manuellement le script pour vérifier qu'il focntionne correctement:
sudo /usr/local/bin/backup_script.sh
  1. Vérifiez que la sauvegarde a été créer dans le répertoire /backups
ls -l /backups

Automatiser la rotation des sauvegardes

Le script inclut déjà une commande pour supprimer les sauvegardes d eplus de 7 jours:

find $BACKUP_DIR -type -name "backup_*tar.gz" -mtime +7 - exec rm {}\;

Cela garantit que seules les sauvegardes des 7 derniers jours sont conservées. Vous pouvez ajuster la valeur +7 pour conserver les sauvegardes plus ou moins longtemps.

Surveiller les sauvegardes

Pour surveiller l'exécution des sauvegardes, vous pouvez rediriger la sortie du script vers un fichier de log. Modifiez la ligne dans crontab:

O O * * * /usr/local/bin/backup_script.sh >> /var/log/backup.log 2>&1

Cela enregistrera le smessages du script dans /var/log/backup.log

sécuriser les sauvegardes (optionnel)

Si vous souhaitez sécuriser les sauvegardes:

  1. Chiffer les sauvegardes avec gpg
gpg -c $BACKUP_DIR/$BACKUP_FILE
  1. Transférer les sauvegardes vers un serveur distant avec scp ou rsync

Conclusion:

Votre serveur éffecturera désormais une saucegarde automatiquement tous les jours à minuit, avec unerotation des sauvegardes pour ne conserver que celles des 7 dernières jous.