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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  probleme avec script de backup

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec script de backup

n°914127
hppp
Serveur@home
Posté le 19-05-2007 à 11:29:40  profilanswer
 

salut a tous
 
je viens de récuperer un script pour faire des backups par ftp mais voila il ne marche pas, voila le script:
 

Code :
  1. #!/bin/sh
  2. #---------------------------------------------------------------#
  3. # Script de backup des répertoires web de ***
  4. # Author:  Stéphane MUNOS
  5. # Date:  20 octobre 2004        
  6. #
  7. # N?cessite le client FTP NCFTP
  8. #  #apt-get install ncftp
  9. #
  10. # Crontab / tous les jours ? 00h05
  11. #  #crontab -e
  12. #
  13. # 00 05 * * * /home/blabla/backup.sh
  14. #---------------------------------------------------------------#
  15. #----- Paramétrage du script -----
  16. # Configuration du FTP distant
  17. loginftp=mon_login
  18. passftp=mon_pass
  19. hostftp=xxxxx.blogdns.com
  20. # Racine WWW
  21. www=/var/www
  22. # Date du jour
  23. date=`date '+%d-%m-%Y'`
  24. # Date d'il y a 7 jours
  25. date2=`date --date '7 days ago' "+%d-%m-%Y"`
  26. #---------- Lancement du script ----------
  27. clear
  28. echo `date`
  29. echo '### Backup des répertoires test ###'
  30. echo
  31. #---------- Création des archives tar.gz ----------
  32. # Boucle sur tous les comptes Web
  33. for rep in `ls $www`; do   
  34.     if [ -d $www/$rep ]; then
  35.         tar -czf /home/backup/backup/backup_$rep\_$date.tar.gz $www/$rep
  36.         echo Tar.gz de $rep terminé 
  37.     fi
  38. done
  39. echo
  40. echo '### Backup terminé ###'
  41. echo
  42. echo
  43. echo '### Transfert des backups par FTP ###'
  44. echo
  45. #---------- Transfert des archives ----------
  46. # Boucle sur tous les comptes Web
  47. for rep in `ls $www`; do   
  48. if [ -d $www/$rep ]; then
  49.  fileToTransfert=/home/backup/backup/backup_$rep\_$date.tar.gz
  50.  fileToDel=/home/backup/backup/backup_$rep\_$date2.tar.gz
  51.  # Transfert FTP
  52.  ncftpput -u $loginftp  -p $passftp $hostftp / $fileToTransfert
  53.  echo Transfert FTP de backup_$rep\_$date.tar.gz terminé
  54.  # Effacement du backup de la semaine dernière
  55.  if [ -f $fileToDel ]; then
  56.   rm $fileToDel
  57.   echo $fileToDel effacé
  58.  fi
  59. fi
  60. done
  61. echo
  62. echo '### Transferts terminés ###'
  63. echo


 
et voila l'erreur que j'ai:
 

Code :
  1. samedi 19 mai 2007, 11:25:36 (UTC+0200)
  2. ### Backup des répertoires test ###
  3. tar: Retrait de « / » de tête des noms des membres
  4. Tar.gz de test terminé
  5. ### Backup terminé ###
  6. ### Transfert des backups par FTP ###
  7. ncftpput /home/backup/backup/backup_test_19-05-2007.tar.gz: server said: Could not create file.
  8. Transfert FTP de backup_test_19-05-2007.tar.gz terminé
  9. ### Transferts terminés ###


 
et je ne comprend pas ou retirer "/" comme dit dans l'erreur, merci A++

mood
Publicité
Posté le 19-05-2007 à 11:29:40  profilanswer
 

n°914129
e_esprit
Posté le 19-05-2007 à 11:50:16  profilanswer
 

Tu n'as pas à le retirer, c'est juste un avertissement.
 
Il vire le premier / (la racine) afin d'eviter que si tu dé-tar dans un autre répertoire, il ne te recrée tout à partir de la racine ;)
 
Exple :
Tu sauvegardes /etc/fstab dans ton tar.gz, tu veux le restaurer dans un sous-repertoire : /tmp
cd /tmp
tar xfz ton_archive.tgz
=> /tmp/etc/fstab
 
Si il virait pas le premier / => /etc/fstab, ce qui peut ne pas être souhaitable.
 
Par contre ce qui ne marche pas dans ton script, c'est le dépot sur le FTP.
Soit un problème de droit, soit le repertoire de destination n'existe pas, soit un probleme d'espace disponible.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914146
hppp
Serveur@home
Posté le 19-05-2007 à 12:59:42  profilanswer
 

ah ok, car oui le fichier n'arrive pas sur le serveur ftp, mais pour temps avec FileZilla j'arrive a posser des fichiers a la racine du serveur ftp, il faut pas que je creer ces repértoires: /home/backup/backup/ ? merci de votre aide A++

n°914147
e_esprit
Posté le 19-05-2007 à 13:05:19  profilanswer
 

Oui, crée le repertoire, à mon avis c'est la ton problème.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914150
hppp
Serveur@home
Posté le 19-05-2007 à 13:07:40  profilanswer
 

pas de changement.

n°914151
e_esprit
Posté le 19-05-2007 à 13:11:27  profilanswer
 

Ah ouais, en fait j'avais pas lu le script, il semble le coller à la racine.
 
T'as pas des logs sur ton serveur FTP ?


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914154
hppp
Serveur@home
Posté le 19-05-2007 à 13:20:34  profilanswer
 

j'ai pas grand choses dans les logs:
 

Code :
  1. Sat May 19 13:19:06 2007 [pid 16999] CONNECT: Client "mon_ip"
  2. Sat May 19 13:19:06 2007 [pid 16998] [login] OK LOGIN: Client "mon_ip"
  3. Sat May 19 13:19:08 2007 [pid 17004] [login] FAIL UPLOAD: Client "mon_ip", "/backup_test_19-05-2007.tar.gz", 0.00Kbyte/sec


n°914159
e_esprit
Posté le 19-05-2007 à 13:37:39  profilanswer
 

T'as le droit d'ecrire à la racine avec ton user :??:


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914165
hppp
Serveur@home
Posté le 19-05-2007 à 13:46:35  profilanswer
 

normalement oui car avec FileZilla j'arrive a déposser des fichiers a la racine

n°914168
e_esprit
Posté le 19-05-2007 à 14:09:59  profilanswer
 

T'es sur que c'est à la racine avec FileZilla ? et non pas dans le home de ton user ?


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
mood
Publicité
Posté le 19-05-2007 à 14:09:59  profilanswer
 

n°914170
hppp
Serveur@home
Posté le 19-05-2007 à 14:19:12  profilanswer
 

c'est meme pas dans home mais dans un autre répertoire qui est patagé par un serveur samba
c'est pas un probléme avec ncftp?


Message édité par hppp le 19-05-2007 à 14:20:50
n°914176
hppp
Serveur@home
Posté le 19-05-2007 à 14:30:56  profilanswer
 

ah oui c'est bon j'ai trouvé le probléme, j'avais pas enfermé les utilisateurs dans leur répértoire alors pour lui la racine été la racine du disque, merci de votre aide

n°914196
hppp
Serveur@home
Posté le 19-05-2007 à 15:18:42  profilanswer
 

j'ai encore 2 petites questions:
1- Pour executer le backup tous les jours a Minuits sur un serveur et tous les vendredi a 1h du matin sur l'autre serveur il faut que je metre quoi dans crontab?
2- et comment modifier le script pour garder à chaque fois un historique de 2 backups, comme par exemple celui du lundi et celui du mardi reste mais aprés le backup du mardi soire le backup du dimanche soit suprimé? merci

Message cité 1 fois
Message édité par hppp le 19-05-2007 à 15:19:24
n°914200
e_esprit
Posté le 19-05-2007 à 15:29:43  profilanswer
 

hppp a écrit :

j'ai encore 2 petites questions:
1- Pour executer le backup tous les jours a Minuits sur un serveur et tous les vendredi a 1h du matin sur l'autre serveur il faut que je metre quoi dans crontab?
2- et comment modifier le script pour garder à chaque fois un historique de 2 backups, comme par exemple celui du lundi et celui du mardi reste mais aprés le backup du mardi soire le backup du dimanche soit suprimé? merci


1) Tous les jours :

0 0 * * * /usr/local/bin/ton_script.sh


Ou :

@daily /usr/local/bin/ton_script.sh


 
Le Vendredi à 1h :

0 1 * * 5 /usr/local/bin/ton_script.sh


 
2) base toi sur la date du jour, les jours pairs archive_2.tgz, les jours impairs archive_1.tgz
Ca doit pas être bien compliqué :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914217
hppp
Serveur@home
Posté le 19-05-2007 à 17:07:07  profilanswer
 

ok merci

n°914237
hppp
Serveur@home
Posté le 19-05-2007 à 20:35:54  profilanswer
 

et une dernier question: si je veux l'executer uniquement le mardi, mecredi, jeudi et vendredi a 2 il faudrai mêtre quoi? merci
 
EDIT:  
 
c'est bon j'ai trouvé, ça doit donner ça non?
 

Code :
  1. 0 1 * * 1-5 /usr/local/bin/ton_script.sh


Message édité par hppp le 19-05-2007 à 20:54:04
n°914282
e_esprit
Posté le 20-05-2007 à 10:47:36  profilanswer
 

Code :
  1. 0 2 * * 2-5 /usr/local/bin/ton_script.sh


plutot :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914285
hppp
Serveur@home
Posté le 20-05-2007 à 11:04:50  profilanswer
 

ah oui car la c'est 1h du matin
je viens de trouver un morceau de script pour aussi faire un backup de mes basses de donné mysql mais je ne sais pas trops quoi metre dans la variable fileDumpSql=, merci de ton aide :)  

Code :
  1. # dump sql du compte
  2. fileDumpSql=$www/$rep/dumpsql_$rep\_$date.sql
  3. /usr/bin/mysqldump $rep --user=root --password=passrootmysql -r "$fileDumpSql"
  4. tar -czf /home/administrateur ...

n°914287
e_esprit
Posté le 20-05-2007 à 11:13:05  profilanswer
 

Ben c'est le fichier dans lequel la base sera dumpée :??:


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914290
hppp
Serveur@home
Posté le 20-05-2007 à 11:22:21  profilanswer
 

ah ou elle sera sauvegardé et comprésé. ok merci

n°914293
hppp
Serveur@home
Posté le 20-05-2007 à 11:46:24  profilanswer
 

et a se que j'ai compri il sauvegarde la basse de donnée qui a le méme nom que le répertoire du site web avec la variable $rep donné plus haut c'est pour ça que ça ne marche pas car mes basses de donné n'on pas les même nom, alors comment faire pour sauvegarder toutes mes basses de donné en même temps? merci

n°914294
e_esprit
Posté le 20-05-2007 à 11:57:15  profilanswer
 

Bah un truc dans le genre :

Code :
  1. for i in base1 base2 base3 base4... basen; do
  2. mysqldump $i --user=root --password=passrootmysql -r $i.sql
  3. ...
  4. done


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914296
hppp
Serveur@home
Posté le 20-05-2007 à 12:00:15  profilanswer
 

il faut indiquer le nom de toutes les basses de données? il peut pas les lister tous seul? merci

n°914479
splurf
Rm -Rf / && oops :o
Posté le 21-05-2007 à 07:54:01  profilanswer
 

for i in `ls /var/lib/mysql/` .........

n°914537
Gf4x3443
Killing perfection
Posté le 21-05-2007 à 12:45:56  profilanswer
 

hppp a écrit :

il faut indiquer le nom de toutes les basses de données? il peut pas les lister tous seul? merci


 
mysqldump -A ?

n°914546
M300A
Posté le 21-05-2007 à 13:03:30  profilanswer
 

Au passage, 7-Zip fait des miracles en compression sur du SQL. Je te le recommande fortement si t'as l'intention de transferer les dumps :)

n°914622
matafan
Posté le 21-05-2007 à 17:19:51  profilanswer
 

splurf a écrit :

for i in `ls /var/lib/mysql/` .........


for i in /var/lib/mysql/* .........

n°914624
e_esprit
Posté le 21-05-2007 à 17:26:55  profilanswer
 

splurf a écrit :

for i in `ls /var/lib/mysql/` .........


matafan a écrit :

for i in /var/lib/mysql/* .........



Des fois y a autres choses que les repertoires des bases, la-dedans, donc ce n'est pas une très bonne idée :D
 

Gf4x3443 a écrit :

mysqldump -A ?


 :jap:  
Pourquoi faire compliqué... [:twixy]


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914632
M300A
Posté le 21-05-2007 à 17:46:41  profilanswer
 

MYSQLDUMP!
 
Arrêtez un peu vos bétise, on peut pas dumper autrement qu'avec mysqldump.

n°914633
e_esprit
Posté le 21-05-2007 à 17:54:52  profilanswer
 

M300A a écrit :

MYSQLDUMP!
 
Arrêtez un peu vos bétise, on peut pas dumper autrement qu'avec mysqldump.


Qui a dit le contraire :??:


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°914641
Gf4x3443
Killing perfection
Posté le 21-05-2007 à 18:25:56  profilanswer
 

e_esprit a écrit :

Qui a dit le contraire :??:


 
Faut dire qu'il a pas creusé bien loin en posant sa question, c'est la première option expliquée dans les pages man, faut le faire [:dawa]

n°916205
hppp
Serveur@home
Posté le 26-05-2007 à 08:05:40  profilanswer
 

alors il faut mieux faire quoi a la fin? merci

n°916517
splurf
Rm -Rf / && oops :o
Posté le 27-05-2007 à 18:12:55  profilanswer
 

ci dessous mon script qui fonctionne tres bien

Code :
  1. DUMPDATE=`date +%F`
  2. DUMPKEEP=15
  3. DUMPDIR=$HOME/db/mysql/$DUMPDATE
  4. mkdir -p $DUMPDIR
  5. mysqldump --all-databases -u$USER -p$PASS | bzip2 > $DUMPDIR/db_backups.sql.bz2
  6. # cat $DUMPDIR/db_backups.sql| grep "CREATE DATABASE" | grep "IF NOT EXISTS" | cut -f7 -d' ' | tr -d ';' | while read dbname
  7. for i in /var/lib/mysql/*/
  8. do
  9.     dbname=`basename $i`
  10.     mysqldump $dbname -u$USER -p$PASS | bzip2 > $DUMPDIR/$dbname.sql.bz2
  11. done
  12. find $HOME/db/mysql -type d -maxdepth 1 -name "????-??-??" -ctime +$DUMPKEEP -exec rm -rf {} \;

mood
Publicité
Posté le   profilanswer
 


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

  probleme avec script de backup

 

Sujets relatifs
[debian/dedibox] Qmail / Problème de réception d'email externelancement periodique d'un script PHP sous windows
Probleme d'encodage de caractere[gdesklets] StarterBar problème de code d'un nouveau starter
Problème au chargement du module nvidia[DHCPD] Problème de DHCP Fixe
[RESOLU] recupere des valeurs dans un fichier a partir d'un scriptProblème installation code blocks sur ubuntu
probleme httpd-2script d'ouverture de session sous samba
Plus de sujets relatifs à : probleme avec script de backup


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