You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 2
Next »
#!/bin/bash
# === Variables ===
DATE=$(date +'%Y-%m-%d_%H-%M-%S')
GLPI_DB_NAME="glpi"
GLPI_DB_USER="root"
GLPI_DB_PASSWORD="ton_mot_de_passe_sql"
GLPI_WEB_DIR="/var/www/html/glpi"
LOCAL_BACKUP_DIR="/backup/glpi"
REMOTE_USER="ton_user_omv"
REMOTE_IP="IP_DU_NAS"
REMOTE_DIR="/srv/dev-disk-by-xxxxx/BackupGLPI" # À adapter selon ton disque dans OMV
RETENTION_DAYS=7
# === Préparation ===
mkdir -p "$LOCAL_BACKUP_DIR"
# === Backup base SQL (compressé) ===
mysqldump -u "$GLPI_DB_USER" -p"$GLPI_DB_PASSWORD" "$GLPI_DB_NAME" | gzip > "$LOCAL_BACKUP_DIR/db_glpi_$DATE.sql.gz"
# === Backup fichiers GLPI ===
tar czf "$LOCAL_BACKUP_DIR/files_glpi_$DATE.tar.gz" -C "$GLPI_WEB_DIR" .
# === Rsync vers NAS OpenMediaVault ===
rsync -avz -e ssh "$LOCAL_BACKUP_DIR/" "$REMOTE_USER@$REMOTE_IP:$REMOTE_DIR/"
# === Nettoyage local : suppression des backups vieux de plus de 7 jours ===
find "$LOCAL_BACKUP_DIR" -type f -mtime +$RETENTION_DAYS -delete
# === Nettoyage distant (optionnel) : suppression sur NAS des vieux backups (si SSH autorisé) ===
# ssh $REMOTE_USER@$REMOTE_IP "find $REMOTE_DIR -type f -mtime +$RETENTION_DAYS -delete"
# === Fin ===
Tableau récapitulatif Crontab
Position | Signification | Valeurs possibles | Exemple | Signification pratique |
---|
1ère ★ | Minute | 0 à 59 | 5 → à la 5e minute |
|
2ème ★ | Heure | 0 à 23 | 14 → 14h (2PM) |
|
3ème ★ | Jour du mois | 1 à 31 | 15 → le 15 du mois |
|
4ème ★ | Mois | 1 à 12 | 7 → juillet |
|
5ème ★ | Jour de la semaine | 0 à 7 (0 et 7 = dimanche) | 1 → lundi |
|
🚀 Exemples pratiques utiles
Crontab | Lecture humaine |
---|
* * * * * | Toutes les minutes |
*/5 * * * * | Toutes les 5 minutes |
0 * * * * | À chaque heure pile |
30 2 * * * | Tous les jours à 2h30 du matin |
0 0 * * 0 | Tous les dimanches à minuit |
0 8-18 * * 1-5 | Toutes les heures de 8h à 18h du lundi au vendredi |
15 14 1 * * | Le 1er de chaque mois à 14h15 |
0 0 1 1 * | Le 1er janvier à minuit (Nouvel an 🎉) |