Annonce ToutSurTout

Bienvenue sur toutsurtout.biz

Déjà 15 ans !

Radio TST

Si vous souhaitez participer vous aussi aux discussions sur le forum, il faut vous inscrire ou vous identifier.

Le Thème TST Automne est maintenant en place.

Les inscriptions sont actuellement OUVERTES.

Message 1 Discussion postée le 16-06-2010 à 23:11:13

Loic
Avatar de Loic


Titre: Administrateur d'élite
Avancement: Niveau 5
Lieu: Avec Solenne
Date d'inscription: 26-09-2009
Messages: 107 780
Site web

[Backup UNIX] Faire le backup automatique d'une table et d'un ftp

Un des gros problème des sites pour le moment est que quand leur serveur plante ou que leur méchant hébergeur bloque leur compte, leur dernier backup remonte à 2-3 semaine voir plus !
Résultats, membres mécontent, et données perdues !

Mais voilà la solution :

Description

Je vais faire 2 scripts en bash qui après avoir récupéré les données, vont les compresser et ensuite les envoyer par email, mais vous pouvez modifier les scripts selon vos besoins

PS: Il faut au préalable avoir configurer l'envoie de mail sur votre serveur
Pour les débutants: ssmtp
Pour les experts: Postfix

Et créez le dossier backup dans /root
# mkdir /root/backup

Les paquets nécessaires et mise à jour

# apt-get update # Mise à jour des paquets
# apt-get install bzip2 # Programme de compression/décompression
# apt-get install mutt # Programme d'envoie de mail

Le backup du FTP

# nano backupftp.sh

Code :

#!/bin/bash NOW="$(date +"%d-%m-%Y_%Hh%M")" # Récupère la date et l'heure tar -cf VotreNomDeFichier.$NOW.tar /var/www/ 2>/dev/null # Fait une archive du dossier bzip2 -9 VotreNomDeFichier.$NOW.tar.bz2 # Compresse echo "Backup du FTP Date: $NOW Serveur: NomDeVotreServeur" | mutt -s "[Backup du FTP] $NOW" -a "VotreNomDeFichier.$NOW.tar.bz2" votrenom@email.com # Envoie l'email avec le fichier mv VotreNomDeFichier.$NOW.tar.bz2 /root/backup/ # Déplace le fichier dans un répertoire prévu à cette effet

Faites CTRL+X pour quitter
Cliquez ensuite sur O pour accepter ou Y si vous êtes sur une machine en anglais
Terminez par Entrer
# chmod +x backupftp.sh # Pour rendre votre fichier exécutable
# ./backupftp.sh # Pour executer le fichier

Le backup de MySQL

# nano backupsql.sh

Code :

#!/bin/bash NOW="$(date +"%d-%m-%Y_%Hh%M")" # Récupère la date et l'heure mysqldump -uNomUtilisateur -pMotDePasse --opt NomDeLaBase > VotreNomDeFichier.$NOW.sql # Récupère la base bzip2 -9 VotreNomDeFichier.$NOW.sql # Compresse echo "Backup de MySQL Date: $NOW Site: NomDeVotreServeur" | mutt -s "[Backup de MySQL] $NOW" -a "VotreNomDeFichier.$NOW.sql.bz2" votrenom@email.com # Envoie l'email avec le fichier mv VotreNomDeFichier.$NOW.sql.bz2 /root/backup/ # Déplace le fichier dans un répertoire prévu à cette effet

Faites CTRL+X pour quitter
Cliquez ensuite sur O pour accepter ou Y si vous êtes sur une machine en anglais
Terminez par Entrer
# chmod +x backupsql.sh # Pour rendre votre fichier exécutable
# ./backupsql.sh # Pour exécuter le fichier

Dès que tous fonctionnent vous pouvez utiliser crontab pour que les scripts s'exécutent tous seuls.

# nano /etc/crontab

Ajoutez à la suite du fichier :

00 2 * * * root /etc/cron.d/backupftp.sh
00 1 * * * root /etc/cron.d/backupsql.sh

Ceci exécutera en tant que root le script backupftp.sh à 2h du matin chaque jour et à 1h du matin le script backupsql.sh


http://www.toutsurtout.biz/img/UserBarTST.gif
http://www.toutsurtout.biz/img/Sign-Loic.gif
Loic DL un jour, Loic DL toujours ...
 

Message 2 Réponse postée le 23-07-2010 à 03:25:32

Ezeckiiel
No Avatar


Titre: Nouveau Membre
Avancement: Niveau 1
Lieu: Montréal , Québec
Date d'inscription: 21-07-2010
Messages: 2
Site web

Re: [Backup UNIX] Faire le backup automatique d'une table et d'un ftp

Merci =P


http://www.toutsurtout.biz/img/UserBarTST.gif