View previous topic :: View next topic |
Author |
Message |
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Thu Nov 16, 2006 10:05 am Post subject: [script] pour sauvegarde sur critére (résolu) |
|
|
Bonjour , la j'ai un probleme que je peu vraiment pas résoudre tous seul :
Code: | #! /bin/bash
echo "Lancement de la sauvegarde"
cd /www_backup/
rm -f `date +%e_%B_%Y.*`
find /var/www/localhost/htdocs/ -size -100k | xargs tar cfj `date +%e_%B_%Y.tar$
mysqldump -u root -p***** first-world > `date +%e_%B_%Y.sql`
echo "Sauvergarde fini" |
J'ai remarquer 2 truc avec mon script, il aime pas les fichiers avec des espace, j'ai mit de guillemet partout et ça marche pas.
il sauvegarde tout les fichiers, même ceux de + de 100ko.
Qui peu me donner un petit coup de main, s'il vous plait?
Merci de votre aide.
Last edited by alpha_one_x86 on Fri Nov 17, 2006 10:47 pm; edited 3 times in total |
|
Back to top |
|
|
ultrabug Developer
Joined: 24 Jan 2005 Posts: 698 Location: Paris
|
Posted: Thu Nov 16, 2006 10:09 am Post subject: |
|
|
Salut,
J'ai pas de réponse rapide à ta question mais je te conseille de modifier ton post en changeant le mot de passe root de ta base SQL dans ta citation de code... C'est pas très très safe ca
J'essaierai de jeter un oeil complet à ton pb plus tard
Bon courage |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Thu Nov 16, 2006 11:02 am Post subject: |
|
|
ultrabug wrote: | Salut,
J'ai pas de réponse rapide à ta question mais je te conseille de modifier ton post en changeant le mot de passe root de ta base SQL dans ta citation de code... C'est pas très très safe ca
J'essaierai de jeter un oeil complet à ton pb plus tard
Bon courage |
Merci j'avais pas vu. |
|
Back to top |
|
|
Il turisto l33t
Joined: 12 May 2004 Posts: 968 Location: Battincourt - Belgique
|
Posted: Thu Nov 16, 2006 11:32 am Post subject: |
|
|
Je pense que tu dois mettre +100k pour les fichiers de plus de 100k. je dis ca sans avoir vérifié mais bon.
Pour les espaces c'est parce que la technique de backup est pas très bonne. Si tu nous dis ce que tu veux faire on va pouvoir te pondre un truc plus joli.
edit : en plus la longue ligne de ton script est coupé ... |
|
Back to top |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Thu Nov 16, 2006 11:38 am Post subject: |
|
|
alpha_one_x86 wrote: | ultrabug wrote: | Salut,
J'ai pas de réponse rapide à ta question mais je te conseille de modifier ton post en changeant le mot de passe root de ta base SQL dans ta citation de code... C'est pas très très safe ca
J'essaierai de jeter un oeil complet à ton pb plus tard
Bon courage |
Merci j'avais pas vu. |
Nous si! |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Thu Nov 16, 2006 12:06 pm Post subject: |
|
|
Je veux sauver tout les fichiers de - de 100ko, en tar.bz2 |
|
Back to top |
|
|
Il turisto l33t
Joined: 12 May 2004 Posts: 968 Location: Battincourt - Belgique
|
Posted: Thu Nov 16, 2006 12:54 pm Post subject: |
|
|
chez moi : find . -size -100k fonctionne
maintenant pour le prob des espaces il faudrait que tu postes la ligne du tar complète que l'on puisse voir |
|
Back to top |
|
|
widan Veteran
Joined: 07 Jun 2005 Posts: 1512 Location: Paris, France
|
Posted: Thu Nov 16, 2006 1:28 pm Post subject: Re: [script] pour sauvegarde sur critére |
|
|
alpha_one_x86 wrote: | Code: | find /var/www/localhost/htdocs/ -size -100k | xargs tar cfj `date +%e_%B_%Y.tar` |
il aime pas les fichiers avec des espace, j'ai mit de guillemet partout et ça marche pas. |
Les guillements n'aideront pas, avec ça normalement ça devrait passer:
Code: | find ... -print0 | xargs -0 ... |
|
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Thu Nov 16, 2006 5:54 pm Post subject: |
|
|
Avec cette commande:
Code: | find /var/www/localhost/htdocs/ -size -100k -print0 | xargs -0 tar cfj `date +%e_%B_%Y.tar.bz2` |
Tout n'est pas sauver et en + les fichiers des + de 100k sont sauver comme ceux de - de 100k. En + dans un dossier, mes images y sont 3x avec les meme nom dans le meme dossier. |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Thu Nov 16, 2006 8:40 pm Post subject: |
|
|
J'aimerai avoir des conseilles, qu'es que je peu virer sans danger dans ca:
Code: |
apache2 | default
bootmisc | boot
checkfs | boot
checkroot | boot
clock | boot
coldplug | default
consolefont | boot
hostname | boot default
hotplug | default
keymaps | boot
local | default nonetwork
localmount | boot
modules | boot
mysql | default
net.eth0 | default
net.lo | boot
netmount | default
noip | default
proftpd | default
rmnologin | boot
samba | default
sshd | default
syslog-ng | default
urandom | boot
|
Je m'en fiche que le démarage soit long, mais je veux des perf quand le system est lancer. J'ai mit, pour mon utilisation (serveur web et réseau), apache2, mysql, samba, noip, proftpd, sshd. |
|
Back to top |
|
|
Scullder Guru
Joined: 16 Mar 2006 Posts: 466 Location: France
|
Posted: Thu Nov 16, 2006 9:55 pm Post subject: |
|
|
alpha_one_x86 wrote: | J'aimerai avoir des conseilles, qu'es que je peu virer sans danger dans ca: |
rmnologin, comme ça ça t'apprendra à chercher sur google =) _________________ Linux gentoo 2.6.18-ck1-r2 #1 PREEMPT Fri Nov 17 01:37:56 CET 2006 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Thu Nov 16, 2006 10:01 pm Post subject: |
|
|
Scullder wrote: | alpha_one_x86 wrote: | J'aimerai avoir des conseilles, qu'es que je peu virer sans danger dans ca: |
rmnologin, comme �a �a t'apprendra � chercher sur google =) |
Justement je cherche, mais je comprend pas toujour trés bien ce que c'est par exemple nologin, je sais toujours pas ce que c'est, mais je vais le supprimer.
Paar exmple urandom, sert a faire des truc aléatoire, mais c'est vraiment utile? et est aparament syslog-ng est pour gerer des log en réseau, mais je consolute que les log local en local, je le laisse? |
|
Back to top |
|
|
Scullder Guru
Joined: 16 Mar 2006 Posts: 466 Location: France
|
Posted: Thu Nov 16, 2006 10:12 pm Post subject: |
|
|
alpha_one_x86 wrote: | Justement je cherche, mais je comprend pas toujour trés bien ce que c'est par exemple nologin, je sais toujours pas ce que c'est, mais je vais le supprimer. |
Très mauvaise idée, supprime le fichier nologin qui est je sais plus où pour pouvoir te loguer au prochain reboot xD
alpha_one_x86 wrote: | Paar exmple urandom, sert a faire des truc aléatoire, mais c'est vraiment utile? et est aparament syslog-ng est pour gerer des log en réseau, mais je consolute que les log local en local, je le laisse? |
urandom c'est pour initialiser le générateur de nombre aléatoire. Donc oui, tu le laisses parce que la fiabilité des programmes que t'utilises en dépend.
syslog-ng, c'est pas fondamental, mais pour la sécurité, c'est mieux de l'avoir (possibilité d'analyse des log).
Pour google, tu dois pas chercher correctement xD _________________ Linux gentoo 2.6.18-ck1-r2 #1 PREEMPT Fri Nov 17 01:37:56 CET 2006 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
Last edited by Scullder on Thu Nov 16, 2006 10:13 pm; edited 1 time in total |
|
Back to top |
|
|
nemo13 Veteran
Joined: 08 Oct 2004 Posts: 1016 Location: France/Istres
|
Posted: Thu Nov 16, 2006 10:12 pm Post subject: |
|
|
alpha_one_x86 wrote: | je le laisse? | Aphorisme : chez unix/linux tout est réseau même ta machine donc ... |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Thu Nov 16, 2006 10:43 pm Post subject: |
|
|
Moi je m'egar, qui peu m'aider pour mon probleme? |
|
Back to top |
|
|
Scullder Guru
Joined: 16 Mar 2006 Posts: 466 Location: France
|
Posted: Thu Nov 16, 2006 11:55 pm Post subject: |
|
|
Indice : exécute la commande find seule et lit la sortie texte que tu envoies à tar.
Le forum va pas te sortir les réponses à tous tes problèmes basiques et non spécifiques à gentoo chaque jour, cherche, debug (ou apprends à débugger), et lit les pages de man.
Pas un bonjour, pas un svp, t'attends qu'on te fasse ton travail ? _________________ Linux gentoo 2.6.18-ck1-r2 #1 PREEMPT Fri Nov 17 01:37:56 CET 2006 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Fri Nov 17, 2006 7:56 am Post subject: |
|
|
Scullder wrote: | Indice : exécute la commande find seule et lit la sortie texte que tu envoies à tar.
Le forum va pas te sortir les réponses à tous tes problèmes basiques et non spécifiques à gentoo chaque jour, cherche, debug (ou apprends à débugger), et lit les pages de man.
Pas un bonjour, pas un svp, t'attends qu'on te fasse ton travail ? |
J'ustement je ne m'en sort pas, voila ca que la commande find me donne un truc fou. Je trouve vraiment pas comment faire ce script, j'ai pas envie de devoir les faire en php. Je veux le faire en bash en sh ou en python.
Voici ce que je vien de faire vite fait, ca marche pas non plus:
Code: | #!/bin/sh
echo "Lancement de la sauvegarde"
cd /www_backup/
echo "Lancer la sauvegarde? (y/n)"
read ans
if [ "$ans" == "y" ]; then
rm -f `date +%e_%B_%Y.*`
echo "Sauver les fichiers? (y/n)"
read ans
if [ "$ans" == "y" ]; then
rm -Rf var/
mkdir /www_backup/var
mkdir /www_backup/var/www
mkdir /www_backup/var/www/localhost/
for pkg in `find /var/www/localhost/htdocs/ -size -100k -print`
do
if [ -f $pkg ]; then
# echo "cp $pkg /www_backup$pkg"
cp $pkg /www_backup$pkg
else
mkdir /www_backup$pkg
fi
done
fi
echo "Sauver mysql? (y/n)"
read ans
if [ "$ans" == "y" ]; then
mysqldump -u root -p******* first-world > `date +%e_%B_%Y.sql`
fi
echo "Sauvergarde fini"
fi
|
|
|
Back to top |
|
|
Scullder Guru
Joined: 16 Mar 2006 Posts: 466 Location: France
|
Posted: Fri Nov 17, 2006 2:36 pm Post subject: |
|
|
Code: | find /var/www/localhost/htdocs/ -size -100k -print | less |
Regarde la première ligne, puis les autres quand t'auras compris que la commande inclut les répertoires (de la taille d'un bloc = 4096octets) =) _________________ Linux gentoo 2.6.18-ck1-r2 #1 PREEMPT Fri Nov 17 01:37:56 CET 2006 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Fri Nov 17, 2006 2:49 pm Post subject: |
|
|
Scullder wrote: | Code: | find /var/www/localhost/htdocs/ -size -100k -print | less |
Regarde la première ligne, puis les autres quand t'auras compris que la commande inclut les répertoires (de la taille d'un bloc = 4096octets) =) |
Je vois pas comment tu vois ça. Dans mon script le seul truc qui a l'air de ne pas marcher c'est les fichiers avec des espaces.
Si quelqu'un a une idee, pour me débloquer je suis preneur. |
|
Back to top |
|
|
Scullder Guru
Joined: 16 Mar 2006 Posts: 466 Location: France
|
Posted: Fri Nov 17, 2006 2:55 pm Post subject: |
|
|
résultat de la commande chez moi :
Code: | $ find /var/www/localhost/htdocs/ -size -100k -print | head -n 3
/var/www/localhost/htdocs/
/var/www/localhost/htdocs/phpmyadmin
/var/www/localhost/htdocs/phpmyadmin/server_engines.php
...
|
Tu passes ça à tar, il cherche pas à comprendre, il te tar tout le /var/www/localhost/htdocs/
Avec
Code: | find /var/www/localhost/htdocs/ -size -100k -not -type d -print |
ça devrait aller mieux.
Effectivement, c'est aussi problématique pour les espaces dans les noms des fichiers. _________________ Linux gentoo 2.6.18-ck1-r2 #1 PREEMPT Fri Nov 17 01:37:56 CET 2006 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Fri Nov 17, 2006 3:42 pm Post subject: |
|
|
dans un script plutôt que de changer le répertoire courant il est souvent préférable de travailler avec des chemins complet. (on ne sait jamais ce qui peut arriver pendant l'execution du script etc.. imagine un petit rm -rf * en tant que root alors que le cd /www_backup/ avait échoué.... )
Sinon, Code: | mkdir /www_backup/var
mkdir /www_backup/var/www
mkdir /www_backup/var/www/localhost/ |
tu dispose d'une option sympa pour faire ça mkdir -p /www_backup/var/www/localhost/ (cf tes grandes amis man pages..)
Sinon, je n'ai pas tout regarder précisément mais je me dit que pour éviter le problème avec les noms de fichiers bizarres etc.. tu pourrais utiliser l'option -exec de find (de mémoire un truc comme ça find /dir -option... -exec cp '{}' /www_backup \; )
tada _________________ The End of the Internet! |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Fri Nov 17, 2006 3:46 pm Post subject: |
|
|
il reste plus qu'a resoudre les problemes de espaces, car mon script régler le blem de dossier. |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Fri Nov 17, 2006 3:59 pm Post subject: |
|
|
Code: | find /var/www/localhost/htdocs/ -size -100k -not -type d -exec cp '{}' /www_backup \; |
Ca copie tout tel quel sans faire d'aborésaance, ou je me suis tromper?
On peu creer le dossier si il n'existe pas avec un argument de la commande cp?
Par exemple si /www/ est vide il faut que la comande: cp toto.txt /www/d1/d2/ marche et donc creer /www/d1 puis /www/d1/d2/
Last edited by alpha_one_x86 on Fri Nov 17, 2006 4:25 pm; edited 1 time in total |
|
Back to top |
|
|
Il turisto l33t
Joined: 12 May 2004 Posts: 968 Location: Battincourt - Belgique
|
Posted: Fri Nov 17, 2006 4:10 pm Post subject: |
|
|
non ca doit en effet tout copier sans faire d'arbo car cp ne copie pas les dossier.
Je pense que tu te complique la vie.
Pq tu ne fais pas un tar de tout le dossier simplement? |
|
Back to top |
|
|
alpha_one_x86 Guru
Joined: 29 Oct 2006 Posts: 544
|
Posted: Fri Nov 17, 2006 4:27 pm Post subject: |
|
|
Il turisto wrote: | non ca doit en effet tout copier sans faire d'arbo car cp ne copie pas les dossier.
Je pense que tu te complique la vie.
Pq tu ne fais pas un tar de tout le dossier simplement? |
Car mon tar ferai 80Go j'ai deja tester, car dans mon site il y a aussi de gros fichier, dont certain sans extexion ou aevc une mais aléatoire? |
|
Back to top |
|
|
|