Sauvegarde BDC

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