Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

[Article] Exemple de script de sauvegarde pour un dédié

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Administration d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Ron56
WRInaute passionné
WRInaute passionné

Inscrit le: 20 Nov 2005
Messages: 672

URL permanente de ce messagePosté le : Dim Jan 13, 2008 21:38    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Nouveau tuto en utilisant RSYNC ici : http://www.webrankinfo.com/forums/viewtopic_95025.htm (plus sécurisé...)

Bonsoir,

Ce soir , ayant eu un disque dur USB en plus sur mon serveur j'ai décidé de me lancer dans la rédaction d'un script basique (et compréhensible) de backup pour un serveur dédié

On a par exemple le dossier /backup/

Le script va supprimer le dossier de sauvegarde vieux de deux jours
Le script va créer un répertoire dans le dossier backup a la date du jour (ex : 13012008)
Le script va créer une archive .tar du dossier /var/www (possibilité de faire une boucle et un tar par site assez facilement Wink )
Le script va faire un dump sous la forme nom_table.sql.gz pour chaque table mysql

Les sauvegardes mysql et des sites étant bien sur placée dans le répertoire a la date du jour

Si vous avez des améliorations ou des demandes n'hesitez pas Wink

Code:
#!/bin/bash
echo Script de sauvegarde ...
#
# Sauvegarde - script basique
# Fontenay Ronan
# Aide pour la rédaction de ce script : http://snippets.prendreuncafe.com/snippet/67

###### Debut Initialisation ######

#user mysql :
strMysqlUser=""
#mot de passe mysql de l'user:
strPassword=""
#dossier ou on stockera les backups
#/!\ Penser a mettre un slash de chaque coté : ex : /media/backup/
repTravail="/backup/"

dateActuelle=$(date +%d%m%Y)
datePassee=$(date --date '2 days ago' +%d%m%Y)

repTravailActuel=$repTravail$dateActuelle


echo - Suppression du repertoire $repTravail$datePassee

rm -rf $repTravail$datePassee

echo -----------------------------------------------------

echo - Création du repertoire $repTravailActuel

mkdir $repTravailActuel

echo -----------------------------------------------------

echo - Package de /var/www/ en $repTravailActuel/www.tar

tar -cf $repTravailActuel/www.tar /var/www/*

echo -----------------------------------------------------

echo - Backup MYSQL
echo -----------------------------------------------------
listDatabase=$(mysql --user=$strMysqlUser --password=$strPassword --exec="SHOW DATABASES;" |  tail -n +2)
 
#dump de chaque base dans un fichier
for lineDatabase in $listDatabase
do
    echo Debut du dump de la base $lineDatabase vers $repTravailActuel
    mysqldump --user="$strMysqlUser" --password="$strPassword" "$lineDatabase" | gzip > "$repTravailActuel"/"$lineDatabase".sql.gz
    echo Dump compressé dans $repTravailActuel/$lineDatabase.sql.gz
    echo -----------------------------------------------------
done
echo Fin de la sauvegarde
exit 0


Pour la mise en place

Moi je l'ai mis dans : /etc/save/save

Il faut faire :

chmod +x /etc/save/save (pour qu'il soit executable)
chown root /etc/save/save (seul root peut modifier le fichier)
chmod 700 /etc/save/save (seul root peut voir le fichier)

Moi je planifie ca tout les jours a 3h du matin, pour ca on fait :

crontab -e

Puis on ajoute la règle :

00 3 * * * sh /etc/save/save

Ron


Dernière édition par Ron56 le Ven Juin 13, 2008 17:13; édité 2 fois
 
Ron56 Visiter le site web du posteur
kazhar
WRInaute accro
WRInaute accro

Inscrit le: 09 Jan 2004
Messages: 6075
Localisation: Somewhere only I know

URL permanente de ce messagePosté le : Lun Jan 14, 2008 9:29    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Et hop reco ! Merci Ron Wink
 
kazhar Visiter le site web du posteur
hm19000
WRInaute impliqué
WRInaute impliqué

Inscrit le: 02 Oct 2005
Messages: 489

URL permanente de ce messagePosté le : Lun Jan 14, 2008 11:54    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Merci pour cet article.Pour les bases de donnée, est que c'est possible faire une sauvegarde de toutes les bases qui se trouve sur le serveur (avec root en mysql) ?
 
hm19000 Visiter le site web du posteur
Ron56
WRInaute passionné
WRInaute passionné

Inscrit le: 20 Nov 2005
Messages: 672

URL permanente de ce messagePosté le : Lun Jan 14, 2008 20:47    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

hm19000 a écrit:
Merci pour cet article.Pour les bases de donnée, est que c'est possible faire une sauvegarde de toutes les bases qui se trouve sur le serveur (avec root en mysql) ?


Le script le fait Razz

Avec mysqldump c'est très facile Wink
 
Ron56 Visiter le site web du posteur
zeetv75
Nouveau WRInaute

Inscrit le: 30 Nov 2006
Messages: 12

URL permanente de ce messagePosté le : Mar Jan 15, 2008 16:20    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

je me permets d'apporter une précision pour ton script.

l'intéret d'une sauvegarde n'est pas de garder uniquement celle d'il y a 2 jours.

en général lorsqu'on sauvegarde dans un environnement pro par exemple, c'est plus ou moins sous cette forme :

- 1 sauvegarde toutes les nuits sur 7 jours glissants : on garde 7 sauvegardes des 7 derniers jours

ensuite en fin de chaque semaine :
- 1 sauvegarde par semaine (on archive la sauvegarde de j+6)

ensuite une sauvegarde en fin de chaque mois

parce que, admettons par exemple que dans ton cas, tu partes en week-end, en congés et qu'il y ait eu un crash sur ta base, et que ta base "crashée" a été sauvegardée et a donc écrasée ta précédente sauvegarde ?

bin,t'as plus rien ...
en revanche dans mon cas, tu peux remonter sur plusieurs semaines.

enfin c'est comme ca qu'on fait en général.

ensuite un p'tit tar -czf pour créer automatiquement des de type backup-20080115.tar.gz.
 
zeetv75
fandecine
Modérateur
Modérateur

Inscrit le: 02 Avr 2005
Messages: 1455
Localisation: Béarn

URL permanente de ce messagePosté le : Mar Jan 15, 2008 17:17    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Encore mieux pour celui qui a plusieurs dédiés, avec rsync :

Pour backup de serveur A vers serveur B :

Etape 1 :

Sur la machine B, on crée une clef ssh :
Code:
ssh-keygen -t dsa -b 1024

on valide le nom proposé par défaut et on entre une passphrase vide.

Etape 2 :

On copie cette clef sur la machine A:
Code:
ssh-copy-id -i ~/.ssh/id_dsa.pub "-p PORT SERVEUR"


SERVEUR est l'IP de A et Port son port ssh.
On entre son mot de passe root ssh et son paswword.

Etape 3 :

On sauvegarde la BDD Mysql de A sur B (en supposant que mysql est dans /var/lib/mysql/ et que l'on veut le sauvegarder dans /var/sauvegarde)

Code:
rsync -avz --progress --delete -e "ssh -p PORT" root@SERVEUR:/var/lib/mysql/ /var/sauvegarde --exclude=.*

SERVEUR est l'IP de A et Port son port ssh.

Ensuite, il suffit de mettre tout cela dans un cron et le tour est joué Very Happy

Avec ces options seul les fichiers modifiés sont mis a jour et ils sont sauvegardés avec le même UID groupe et Utilisateur.

Pour faire un restaure, il suffit d'inverser l'opération. Il est également possible de suavegarder n'importe quelle partie du systéme de fichier du serveur A sur n'importe quelle partie du système de fichier de B.

Si vous avez plusieurs serveurs, vous pouvez mettre en place des backups croisés. Wink
 
fandecine Visiter le site web du posteur
[--Eric--]
WRInaute impliqué
WRInaute impliqué

Inscrit le: 06 Jan 2004
Messages: 393

URL permanente de ce messagePosté le : Mar Jan 15, 2008 23:56    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Le problème avec rsync c'est que si tu te fais hacker ton serveur avec suppression de données juste avant la sauvegarde, après t'es mal Confused Par contre pour restaurer c'est vrai que c'est nickel.
Le mieux est je pense de faire des sauvegardes comme indiqué plus haut et de les "mettre à l'abri" sur une autre machine si on en a plusieurs.
 
[--Eric--]
Topsitemaker
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 19 Nov 2006
Messages: 243
Localisation: sur le net

URL permanente de ce messagePosté le : Mer Jan 16, 2008 14:26    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Bonjour,
En plus de faire des sauvegardes completes et incrementals (économie de mémoire de masse), et du rsync, je crypte les fichiers de sauvegarde avec gpg pour 2 raisons, quand je rapatrie mes sauvegardes par FTP, s'il y a un parasite qui intercepte mon fichier il ne pourra pas le lire. Ensuite Si le serveur de sauvegarde se fait hacker, les données sensibles de la sauvegarde des autres serveurs ne sont pas visibles.
 
Topsitemaker Visiter le site web du posteur
[--Eric--]
WRInaute impliqué
WRInaute impliqué

Inscrit le: 06 Jan 2004
Messages: 393

URL permanente de ce messagePosté le : Mer Jan 16, 2008 17:38    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Oui bonne idée en effet de crypter car avoir une sauvegarde sur un serveur qui se fait hacker... Rolling Eyes Un petit tuto?... Wink

Sinon pour le code plus haut il y a une petite coquille :

Code:
echo - Package de /var/www/ en $repTravailActuel/www.tar

tar -cf $repTravailActueldd/www.tar /var/www/*


a corriger par

Code:
echo - Package de /var/www/ en $repTravailActuel/www.tar

tar -cf $repTravailActuel/www.tar /var/www/*
 
[--Eric--]
Topsitemaker
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 19 Nov 2006
Messages: 243
Localisation: sur le net

URL permanente de ce messagePosté le : Mer Jan 16, 2008 18:12    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

[--Eric--] a écrit:
Oui bonne idée en effet de crypter car avoir une sauvegarde sur un serveur qui se fait hacker... Rolling Eyes Un petit tuto?... Wink


Je suis un peu overbooké et je n'ai plus le gpg en tête, un de ces jours j'y penserai Wink

Et pour finir le tout, Je fais un md5 des fichiers de sauvegardes sur chacun des serveurs, et je les compare pour voir si le transfert rsync c'est bien passé (il y a donc aussi un rsync des md5). Mine de rien, cette vérif m'a fait prendre conscience de problèmes pontuelles parfois difficilement détectables (FS full, défaillance de la rotation des sauvegardes... ).
 
Topsitemaker Visiter le site web du posteur
Ron56
WRInaute passionné
WRInaute passionné

Inscrit le: 20 Nov 2005
Messages: 672

URL permanente de ce messagePosté le : Mer Jan 16, 2008 18:41    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

[--Eric--] a écrit:
Oui bonne idée en effet de crypter car avoir une sauvegarde sur un serveur qui se fait hacker... Rolling Eyes Un petit tuto?... Wink

Sinon pour le code plus haut il y a une petite coquille :

Code:
echo - Package de /var/www/ en $repTravailActuel/www.tar

tar -cf $repTravailActueldd/www.tar /var/www/*


a corriger par

Code:
echo - Package de /var/www/ en $repTravailActuel/www.tar

tar -cf $repTravailActuel/www.tar /var/www/*


héhé merci corrigé Wink
 
Ron56 Visiter le site web du posteur
sietjp
WRInaute passionné
WRInaute passionné

Inscrit le: 14 Déc 2003
Messages: 614
Localisation: Paris

URL permanente de ce messagePosté le : Mer Jan 16, 2008 18:52    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Topsitemaker a écrit:
[--Eric--] a écrit:
Oui bonne idée en effet de crypter car avoir une sauvegarde sur un serveur qui se fait hacker... Rolling Eyes Un petit tuto?... Wink


Je suis un peu overbooké et je n'ai plus le gpg en tête, un de ces jours j'y penserai Wink

Et pour finir le tout, Je fais un md5 des fichiers de sauvegardes sur chacun des serveurs, et je les compare pour voir si le transfert rsync c'est bien passé (il y a donc aussi un rsync des md5). Mine de rien, cette vérif m'a fait prendre conscience de problèmes pontuelles parfois difficilement détectables (FS full, défaillance de la rotation des sauvegardes... ).


Je serais également intéressé par un petit tuto permettant de crypter ses sauvegardes Smile .

[edit] En cherchant un peu j'ai trouvé ce tuto (en anglais) qui m'a l'air trés clair : http://www.somacon.com/p107.php
 
sietjp Visiter le site web du posteur
Neoxy
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Avr 2006
Messages: 360
Localisation: Grenoble

URL permanente de ce messagePosté le : Ven Jan 18, 2008 1:06    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Script assez simpa à tester en tout cas !!!

En esperant que celui ci s'enrichira en terme de fonctionnalité Smile
 
Neoxy Visiter le site web du posteur
link182
WRInaute impliqué
WRInaute impliqué

Inscrit le: 26 Juil 2005
Messages: 468
Localisation: 51 & 57

URL permanente de ce messagePosté le : Ven Jan 18, 2008 12:39    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Citation:
Je serais également intéressé par un petit tuto permettant de crypter ses sauvegardes

Pareil !
 
link182 Visiter le site web du posteur
rikew
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Déc 2002
Messages: 448
Localisation: Marseille

URL permanente de ce messagePosté le : Ven Jan 18, 2008 13:16    Sujet du message: [Article] Exemple de script de sauvegarde pour un dédié

Ici il y a un script de sauvegarde de bdd qui crypte avec GnuPG :
http://forum.sivit.fr/viewtopic.php?id=2983&forum=3&29

Pour ceux veulent un serveur de sauvegarde à moindre coût, vous pouvez utiliser votre ordinateur et rsync. Avec Windows il faut installer cwRsync.
J’ai trouvé cette astuce ici :
http://yann.morere.free.fr/article.php3?id_article=74#tth_sEc6
 
rikew Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Administration d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort