Sauvegarde journalière de la bases de données BDC et du dossier web BDC
Fichier bash /usr/bin/sauvejourbdc.sh :
#!/bin/bash
# date du jour
SAUVDATE=$(date +%Y-%m-%d)
SAUV_DIR=/var/sauvegardes/jours
SOURCE_DIR=/var/www/html/bdc
LOG_FILE=/var/sauvegardes/log_jour_bdc-$SAUVDATE.log
MYSQL_DB=bdc
MYSQL_USER=root
MYSQL_PASS=***********
# Sauvegarde de la bases de données BDC
echo "$DATE - `date --rfc-3339=ns` : sauvegarde de la base de données BDC" >> $LOG_FILE
mysqldump --user=$MYSQL_USER --password=$MYSQL_PASS $MYSQL_DB > $SAUV_DIR/base_bdc-$SAUVDATE.sql
#Sauvegarde journaliére du dossier web BDC
echo "$DATE - `date --rfc-3339=ns` : Sauvegarde journaliére du dossier web BDC" >> $LOG_FILE
tar -cvzf $SAUV_DIR/bdc-$SAUVDATE.tar.gz $SOURCE_DIR >> $LOG_FILE
Envoi de la suvegardes par FTP vers ftp.percy.decalog.net
Fichier bash /usr/bin/sauveftp.sh :
#!/bin/bash
# Variables
DESTSITE="/var/sauvegardes/jours/"
DATE="$(date +%F)"
#adresse de percy.decalog.net local
FTP_HOST="192.168.80.125"
FTP_USER="bdc-decalog"
FTP_PASS="Bc4x4<>17!"
# Liste des fichiers du jour
cd $DESTSITE
ls *$DATE.tar.gz *$DATE.sql > sites
# Début boucle
while read ligne
do
set $(echo $ligne)
FICHIER=$(eval echo $1)
# Connexion au ftp et envoi de $FICHIER
ftp -in <<EOF
open ${FTP_HOST}
user ${FTP_USER} ${FTP_PASS}
bin
verbose
prompt
put $FICHIER
bye
EOF
# Fin boucle
done < sites
# nettoyage liste
rm sites
exit
CRONTAB:
* * * * * /root/scripts/maj_heure.sh >> /root/scripts/maj_heure.log
0 1 * * 1-6 /usr/bin/sauvejourbdc.sh >>/home/administrateur/sauvegardes/cron_sauve_bdc.log 2>&1
15 1 1 * * /usr/bin/sauvemensuelbdc.sh >>/home/administrateur/sauvegardes/cron_sauve_bdc.log 2>&1
0 2 * * 1-6 /usr/bin/sauveftp.sh >>/home/administrateur/sauvegardes/cron_sauve_ftp.log 2>&1
1. Du lundi au samedi (1-6) à 1h00
2. Le 1 de chaque mois à 1h15
3. Du lundi au samedi (1-6) à 2h00