Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2807 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Comment creer une sauvegarde quotidienne d'un dossier? (debian)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment creer une sauvegarde quotidienne d'un dossier? (debian)

n°930738
raised
Posté le 05-07-2007 à 15:51:06  profilanswer
 

Bonjour à tous,
 
je viens de mettre en place un site web sur un debian et je cherche un script pour effectuer une sauvegarde quotidienne, le probleme est que je suis nul pour ca :(
 
Voila ce que j'aimerais faire:
 
Sauvegarder le dossier /var/www et /var/lib/mysql toutes les nuits à 3 heures du matin dans le dossier /tmp/backup_site en nommant le fichier "backup_site_Jour/Mois/Année.tar.gz" et "backup_BDD_Jour/Mois/année.tar.gz"
 
Si quelqu'un pouvait m'aider ca serait genial, ou des infos, ou des indices.
 
Merci beaucoup.


Message édité par raised le 05-07-2007 à 15:51:42
mood
Publicité
Posté le 05-07-2007 à 15:51:06  profilanswer
 

n°930739
Le_Tolier
Hello IT ?
Posté le 05-07-2007 à 15:52:22  profilanswer
 

evite de sauvegarde les fichiers binaire de mysql utilise mysqldump et sauvegarde les dump sql c'est beaucoup mieux a mon avis.


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
n°930745
_p1c0_
Posté le 05-07-2007 à 16:11:06  profilanswer
 

un script dans la crontab et hop, ca roule :)


---------------
-_- http://www.scienceshopping.com -_-
n°930747
Riot
Buy me a riot
Posté le 05-07-2007 à 16:17:08  profilanswer
 

Avec rsync ;)


---------------
Be the one with the flames.
n°930751
VenerZen
M - D - M
Posté le 05-07-2007 à 16:19:23  profilanswer
 

Voila ce que j'ai mis en place pour faire ça sur mon serveur. Ca fait une grosse archive que le robot foue ensuite sur bande.
 

Citation :


#!/bin/bash -a
dbUser=user
dbPasswd=passwd
pathGene=/var/partageSamba/archives
log=/var/log/makeArchive
emailAdmin=monEmail
#       Epuration du répertoire de sauvegarde
echo    "-----------------------------------------------------------" > $log
echo    "       Prétraitements                  DEBUT :"$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
echo    "-----------------------------------------------------------" >> $log
if test -d $pathGene
then
        echo    "==> Le répertoire de génération existe" >> $log
        echo    "====> Epuration" >> $log
        rm -rf $pathGene/*.dump >> $log
        rm -rf $pathGene/*.bz2 >> $log
else
        echo    "==> Le réperoitre de génération n'existe pas" >> $log
        echo    "====> Création" >> $log
        mkdir -p $pathGene >> $log
fi
echo    "-----------------------------------------------------------" >> $log
echo    "       Prétraitements                  FIN : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
echo    "-----------------------------------------------------------" >> $log
echo    "-----------------------------------------------------------" >> $log
echo    "       Sauvegardes                     DEBUT : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
echo    "-----------------------------------------------------------" >> $log
# Sauvegarde des données en base pour  mantis
echo    "==> Mantis bugratcker : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
echo    "====> Sauvegarde de la base : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
mysqldump -u $dbUser --password=$dbPasswd bugtracker > $pathGene/$(date +%Y%m%d%H%M)_bugtracker.dump
# Sauvegarde des données en base pour  mediawiki
echo    "==> Médiawiki : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
echo    "====> Sauvegarde de la base : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
mysqldump -u $dbUser --password=$dbPasswd wikidb > $pathGene/$(date +%Y%m%d%H%M)_wikidb.dump
echo    "====> Sauvegarde des fichiers : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
tar -jcvf $pathGene/$(date +%Y%m%d%H%M)_wiki.bz2 /var/lib/mediawiki1.7 >> $log
echo    "-----------------------------------------------------------" >> $log
echo    "       Sauvegardes                     FIN : "$(date +"%d/%m/%Y %H:%M:%S" ) >> $log
echo    "-----------------------------------------------------------" >> $log


Message édité par VenerZen le 05-07-2007 à 16:20:23

---------------
"L'abus de modération, nuit gravement à la consommation"
n°931199
raised
Posté le 06-07-2007 à 14:07:29  profilanswer
 

Voila ce que j'ai fait pour le moment mais ca ne marche pas:
 
dossier du site: /var/www
distribution: Debian
emplacement de la sauvegarde: /tmp/backup_site_web
 

Code :
  1. #Sauvegarde Quotidienne Mambo Seul. Pas ancien site web :
  2. cd /var/www
  3. tar -cvzf /tmp/backup_site_web/sauve_quotidienne_site_`date +%d-%m-%G`.tar.gz `ls /var/www/html/ | grep -v softhelp`
  4. #Sauvegarde Quotidienne des bases de donnees MySQL :
  5. tar -cvzf /tmp/backup_bases_MySQL/sauve_quotidienne_bases_`date +%d-%m-%G`.tar.gz /var/lib/mysql/*


 
Crontab - e: 00 15 * * * /tmp/sauve_quotidienne.sh
 
Pourquoi cela ne marche pas ?
Ya t il des droits a effectuer ?
Un probleme dans mon script ?


Message édité par raised le 06-07-2007 à 14:09:50
n°931200
_p1c0_
Posté le 06-07-2007 à 14:11:38  profilanswer
 

regardes les logs de cron... à la limite, lances le en debug pour voir...


---------------
-_- http://www.scienceshopping.com -_-
n°931212
raised
Posté le 06-07-2007 à 14:26:48  profilanswer
 

je n'ai pas de fichier de log dans  /var/log/
 
J'ai fait un crontab -e en ajoutant:
 
28 14 * * * echo "test cron"
 
et rien ne s'affiche a l'heure indiqué, peut etre que le cron n'est pas activé

n°931223
raised
Posté le 06-07-2007 à 14:36:28  profilanswer
 

Je lance le script manuellement ./script.sh
 
2 erreurs:
 
./sauve_quotidienne.sh: line 11: unexpected EOF while looking for matching ``'
./sauve_quotidienne.sh: line 12: syntax error: unexpected end of file
 
 
Je ne comprend la signification des erreurs :s
 
 

n°931233
Riot
Buy me a riot
Posté le 06-07-2007 à 14:41:25  profilanswer
 

Ton script est mal écrit.

 

(surement une erreur de copier/coller)


Message édité par Riot le 06-07-2007 à 14:41:51

---------------
Be the one with the flames.
mood
Publicité
Posté le 06-07-2007 à 14:41:25  profilanswer
 

n°931291
raised
Posté le 06-07-2007 à 15:29:43  profilanswer
 

Voila le script qui fonctionne:
 
#!/bin/bash
 
#Sauvegarde Quotidienne Mambo Seul. Pas ancien site web isat :
 
cd /var/www/
 
tar -cvzf /var/save/backup_site_web/sauve_quotidienne_site_`date +%d-%m-%G`.tar.gz /var/www
 
 
#Sauvegarde Quotidienne des bases de donnees MySQL :
 
tar -cvzf /var/save/backup_bases_MySQL/sauve_quotidienne_bases_`date +%d-%m-%G`.tar.gz /var/lib/mysql/*
 
 
Il ne me reste plus qu'a faire marcher cron

n°931296
raised
Posté le 06-07-2007 à 15:34:07  profilanswer
 

Cron ne veut pas marcher et je ne comprend pas pourquoi.
 
Pourtant en faisant crontab -l j'ai bien mon cron de programmer:
 

Code :
  1. www:/var/save# crontab -l
  2. # m h  dom mon dow   command
  3. 33 15 * * * /var/save/sauve_quotidienne.sh


 
Une idée ?


Message édité par raised le 06-07-2007 à 15:34:30
n°931344
raised
Posté le 06-07-2007 à 16:56:03  profilanswer
 

Meme un cron tout bete ne marche pas:  
 
 

Code :
  1. www:/etc/cron.d# crontab -l
  2. # m h  dom mon dow   command
  3. 46 16 * * * echo "test cron"


 
Aucun message ....
 
Comprend pas

Message cité 1 fois
Message édité par raised le 06-07-2007 à 16:56:16
n°931537
weed
Posté le 07-07-2007 à 10:53:07  profilanswer
 

raised a écrit :

Meme un cron tout bete ne marche pas:  
 
 

Code :
  1. www:/etc/cron.d# crontab -l
  2. # m h  dom mon dow   command
  3. 46 16 * * * echo "test cron"


 
Aucun message ....
 
Comprend pas


et bien peut etre qu'il ne va pas l'afficher dans le meme terminal que le tien. Renvoie le resultat de ton echo dans un fichier en spécifiant le chemin absolu.

n°932132
raised
Posté le 09-07-2007 à 15:23:43  profilanswer
 

Citation :

Renvoie le resultat de ton echo dans un fichier en spécifiant le chemin absolu.


 
Comment faire ?


Message édité par raised le 09-07-2007 à 15:24:31
n°932169
raised
Posté le 09-07-2007 à 16:04:22  profilanswer
 

Voila mes tests:  
 

Code :
  1. # m h  dom mon dow   command
  2. 05 16 * * * /var/save/sauve_quotidienne.sh
  3. 05 16 * * * echo "test cron"
  4. 05 16 * * * /var/save/test.sh (renvoie echo "test cron" )


 
sauve_quotidienne.sh et test.sh marchent tres bien en les lancant manuellement ./sauve_quotidienne ./test.sh
 
J'ai stopé le daemond et relancé:
 

Code :
  1. www:/var/spool/cron/crontabs# /etc/init.d/cron stop
  2. Stopping periodic command scheduler: crond.
  3. www:/var/spool/cron/crontabs# /etc/init.d/cron start
  4. Starting periodic command scheduler: crond.


 
Je suis logé en root sur le serveur, dans /var/spool/cron/crontabs/root se trouve bien les cron que j'ai rentré avec la commande crontab -e
 
Je comprend pas la :/


Message édité par raised le 09-07-2007 à 16:04:43
n°932184
raised
Posté le 09-07-2007 à 16:22:39  profilanswer
 

Bon bah ca marche...
 
Enfin mon sauve_quotidienne.sh marche j'ai bien mes .tar.gz
 
C est juste que mes 2 autres test n'affichaient pas l'echo...
 

n°932343
M300A
Posté le 09-07-2007 à 21:09:13  profilanswer
 

Ton script n'est pas bon.
 
Sauvegarde /var/lib/mysql ça n'a pas de sens. Tu peux parfaitement copier un fichier lorsqu'une écriture est en cours et te retrouver avec quelque chose d'incohérent.
 
Comme indiqué plus haut, utilise mysqldump.

n°932934
chaica
Posté le 11-07-2007 à 10:02:51  profilanswer
 

M300A a écrit :

Ton script n'est pas bon.
 
Sauvegarde /var/lib/mysql ça n'a pas de sens. Tu peux parfaitement copier un fichier lorsqu'une écriture est en cours et te retrouver avec quelque chose d'incohérent.
 
Comme indiqué plus haut, utilise mysqldump.


+1


Message édité par chaica le 11-07-2007 à 10:03:25
n°933656
sputnick
bip...bip...bip...bip...bi...b
Posté le 12-07-2007 à 23:44:34  profilanswer
 

Salut, voici mon script de sauvegarde mysql que je met en crontab une fois par jour. Il est tout à fait fonctionnel.
C'est en crontab root avec un user configuré dans my.cnf pour qu'il se connecte sans mot de passe.
Il y a une sauvegarde sur un ftp sous utilisateur courant.
 

Code :
  1. #!/bin/bash
  2. # by sputnick
  3. DAT=$(date +%Y%m%d)
  4. /usr/bin/mysqldump -u $USER --all-databases --quote-names --opt > /tmp/dump.${DAT}.sql
  5. chown $USER: /tmp/dump.${DAT}.sql
  6. su - $USER -c 'DAT=$(date +%Y%m%d); lftp ftp://login:passwd@host -e "cd mysql ; put /tmp/dump.${DAT}.sql ; quit" && \
  7. echo "dump.${DAT}.sql ok" | mail -s "dump sql $HOSTNAME ok" user@mail-de-la-mort-qui-tu.org'
  8. rm -f /tmp/dump.*


Message édité par sputnick le 12-07-2007 à 23:47:44

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Comment creer une sauvegarde quotidienne d'un dossier? (debian)

 

Sujets relatifs
[Debian] rhythmbox et les radios internetscp et cron dans cygwin - sauvegarde à distance.
apche2-svn-debian : créer plusieurs repositories svnimpression debian kde
*Failed* Passer de kubuntu edgy à debian etch, proprement[Debian Etch/2.6.18] Problème de make menuconfig
Alias sous debian[Picasa] Indexation impossible hors du dossier /Home/ ?
[debian etch] Pb d'écriture sur une clé USBRecherche fichier status pour dpkg
Plus de sujets relatifs à : Comment creer une sauvegarde quotidienne d'un dossier? (debian)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR