Sauvegarde automatisé en script des bases de données et sources de vos sites internet et application.
Rien de plus simple qu'un petit script de backup de différents répertoires dans un shell script sous linux.
Le principe un shell script lancé via la commande crontab -e va sauvegarder tous les répertoires contenu dans un micro fichier de conf (ici : /root/liste_rep.conf).
L'interêt d'un fichier de conf : quand vous ajoutez un répertoire vous ne modifiez pas le script.
Etape 1 : le fichier de conf des répertoires
Créez un nouveau fichier texte /root/liste_rep.conf et saisissez tous les répertoire que vous souhaitez sauvegardé ligne par ligne.
Etape 2 : copiez et adaptez le script ci-dessous /root/script_backup_source.sh
a savoir que les backups sont dans ce cas copiés en tar.gz dans /home/backup ils seront supprimés après transfert ( option enlever le rm)
paramètrez les accès ftp pour votre serveur et n'oubliez pas de donner les droits d'execution à votre script ( chmod ug+x script_backup_source)
#!/bin/bash
LC_TIME=fr_FR
today=`date +%d`
day=`date +%u`
month=`date +%b`
CHEMIN_BASE='/home'
CHEMIN_BACKUP='/home/backup'
FTP_HOTE='monadresseftp.com'
FTP_LOGIN='backup'
FTP_PASS='backup'
for i in `cat /root/liste_rep.conf`;
do
tar -czf /home/backup/$i$day.tar.gz /home/$i
echo " Sauvegarde de $i effectue ";
ftp -in <<EOF
open ${FTP_HOTE}
user ${FTP_LOGIN} ${FTP_PASS}
bin
verbose
prompt
lcd ${CHEMIN_BACKUP}
cd local_rep
mput $i$day.tar.gz
bye
EOF
rm /home/backup/$i$day.tar.gz
done
Etape 3: le crontab
éditez le fichier crontab et ajoutez la ligne
9 2 * * * /root/script_backup_source.sh
Pour plus d'info sur la commande crontab : cliquez-ici