Suite à la restructuration de mes serveurs grâce à la virtualisation sur mon petit dernier, j’ai remis à plat toutes les sauvegardes et je vais vous faire partagé mon script qui fait une sauvegarde journalière en préfixant le jour de la semaine. Pour info mes VM tournent sous Debian Squeeze.
Je vais vous proposer 2 versions, une avec sauvegarde sur le réseau (celle que j’utilise) et l’autre en local. Le fichier « sauvegarde.sh » se trouve dans mon cas dans le /root/, votre script devant s’adapter.
Version réseau : (Il faut que smbfs soit installé, sinon « apt-get install smbfs »)
#!/bin/sh # Création du répertoire sauvegardes et montage du # répertoire partagé sur le réseau (Backup) avec l'option # "-o username='XXXXX',password='YYYYY'" qui permet # l'authentification au cas où. XXXXX et YYYYY devant # prendre les bonnes valeurs. mkdir sauvegardes mount -t smbfs //192.168.A.B/Backup /root/sauvegardes/ -o username='XXXXX',password='YYYYY' # Sauvegarde d'un dossier par exemple WWW tar -czf /tmp/$(date +\%A)_WWW.tar.gz /var/www mv /tmp/$(date +\%A)_WWW.tar.gz /root/sauvegardes/$(date +\%A)_WWW.tar.gz # Sauvegarde d'une BDD MySQL mysqldump -f -F -e --user=LOGIN --password=PASSWORD NOM_ BDD > /tmp/$(date +\%A)_SQL.sql tar -czf /tmp/$(date +\%A)_SQL.tar.gz /tmp/$(date +\%A)_ SQL.sql rm /tmp/$(date +\%A)_SQL.sql mv /tmp/$(date +\%A)_SQL.tar.gz /root/sauvegardes/$(date +\%A)_SQL.tar.gz # Démontage du répertoire partagé sur le réseau et # suppression du dossier umount /root/sauvegardes/ rmdir sauvegardes
Version local :
#!/bin/sh # Sauvegarde d'un dossier par exemple WWW tar -czf /tmp/$(date +\%A)_WWW.tar.gz /var/www mv /tmp/$(date +\%A)_WWW.tar.gz /root/sauvegardes/$(date +\%A)_WWW.tar.gz # Sauvegarde d'une BDD MySQL mysqldump -f -F -e --user=LOGIN_BDD --password=PASSWORD_ BDD NOM_BDD > /tmp/$(date +\%A)_SQL.sql tar -czf /tmp/$(date +\%A)_SQL.tar.gz /tmp/$(date +\%A)_ SQL.sql rm /tmp/$(date +\%A)_SQL.sql mv /tmp/$(date +\%A)_SQL.tar.gz /root/sauvegardes/$(date +\%A)_SQL.tar.gz
Le script étant copier, vous devez maintenant lui donner les droits.
$ chmod 777 /root/sauvegarde.sh $ chmod +x /root/sauvegarde.sh
Et pour automatiser la sauvegarde tous les soir à 23h00 :
$ crontab -e # Vous devez copier la ligne ci-dessous à la fin de # l'éditeur. 0 23 * * * /root/sauvegarde.sh
Et voilà, vous avez maintenant une sauvegarde journalière et donc un historique sur 7 jours. N’hésitez pas à faire des propositions d’améliorations ou feedback dans les commentaires.
salut svp j aimerai savoir quel sont les deux fichier precedement poster merci
bonjour, j’ai un soucis et je suis nouveaux
il y a 3 serveurs linux
A: Serveur principal, adresse ip : 192.168.1.2
B: Serveur de partage de fichiers (samba), adresse ip : 192.168.1.3
C: Serveur externe, adresse ip : 213.27.131.240
On souhaite réaliser une sauvegarde incrémentale du partage \\192.168.1.3\partage\ du serveur B sur le dossier /backup du serveur C
Le serveur B ne disposant pas de connexion internet, c’est le serveur A qui lancera la tâche de sauvegarde vers le serveur C
il faut écrire script permettant de monter le partage sur le serveur A et de réaliser la sauvegarde demandée.
Décrire précisément comment programmer cette sauvegarde le mardi et le jeudi à 3h du matin.
Merci de m’aider