Script Bash sauvegarde - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 01-06-2011 à 09:11:54
Bonjour,
quelle est la question ?
y-a-t-il un problème spécifique avec ton script ?
quel est l'objet de ce topic ?
Conseil de lecture :
http://www.gnurou.org/writing/smartquestionsfr
Marsh Posté le 01-06-2011 à 09:15:21
Il ne marche pas, et je ne vois pas pourquoi.
Surement un problème de syntaxe, il me demande un mot de passe pour mysqldump je pense, alors qu'il est dans la variable MDP.
Marsh Posté le 01-06-2011 à 09:32:40
il serait peut être intéressant pour les potentiels personnes pouvant t'aider d'avoir explicitement le message d'erreur que tu reçois. non ?
mets toi à la place des personnes qui lisent ton topic...
Marsh Posté le 01-06-2011 à 09:36:57
dohkoo001 a écrit : Il ne marche pas, et je ne vois pas pourquoi. |
il ne faut pas d'espace entre -p et le mot de passe.
mysqldump -u user -ppassword bdd |
Marsh Posté le 01-06-2011 à 09:44:56
bah quand je lance mon script il me demande un mot de passe, hors le but c'est que je n'ai rien à faire ....
Et si je stop le script sans rentrer de mot de passe, je vois que c'est mysqldump qui m'en demande un. Et bien sur si je lui donne, sa marche ...
Marsh Posté le 01-06-2011 à 09:54:49
dohkoo001 a écrit : bah quand je lance mon script il me demande un mot de passe, hors le but c'est que je n'ai rien à faire .... |
ton script fait
mysqldump -u user -p password bdd |
donc mysqldump essaye de sauvegarder 2 bases 'password' et 'bdd' et te demande un mot de passe parce que tu lui dis qu'il y a un mot de passe (-p ) mais tu ne le lui donnes pas (l'espace après -p).
Essaye d'enlever l'espace après -p
mdp="-p******" |
Marsh Posté le 01-06-2011 à 10:26:40
C'était bien sa, merci.
Mais maintenant mes fichiers sql sont vides ...
pourtant j'utilise l'utilisateur root de mysql, c'est possible qu'il n'ait pas les droits sur les bases ?
Marsh Posté le 01-06-2011 à 10:38:45
dohkoo001 a écrit : C'était bien sa, merci. |
et dans ton logbackup.log ?
Marsh Posté le 01-06-2011 à 10:44:05
Euh, c'est possible qu'il m'ait écrit le dump dans le fichier de log ?
parce que là, il vient de prendre 7800 lignes d'un coup ...
Marsh Posté le 01-06-2011 à 11:00:21
Je ne comprends pas la syntaxe de ta ligne 14.
Tu fais 2 redirections ?
Ça me chiffonne depuis le début de ce topic.
Marsh Posté le 01-06-2011 à 11:01:30
Fork Bomb a écrit : Je ne comprends pas la syntaxe de ta ligne 14. |
C'est le même principe que la commande de la ligne 8
Marsh Posté le 01-06-2011 à 11:06:01
Fork Bomb a écrit : Je ne comprends pas la syntaxe de ta ligne 14. |
D'où ma remqraue....
j'imagine qu'il veut avoir stdout dans le backup et stderr dans le log, sauf que c'est pas comme ça qu'on fait (et j'oublie toujours la syntaxe exacte... y'a des 1 2 > et & dedans)
Marsh Posté le 01-06-2011 à 11:07:25
http://tldp.org/LDP/abs/html/io-redirection.html
Citation : # Single-line redirection commands (affect only the line they are on): 1>filename |
Marsh Posté le 01-06-2011 à 11:09:26
o'gure a écrit :
|
Que vous êtes caustique.
Marsh Posté le 01-06-2011 à 11:15:57
Ouai bon ... sa partait tout dans le fichier de log ...
Donc là le script fonctionne niquel :
Code :
|
Voilà, et maintenant j'aimerais bien que tous les infos soient rapatriées dans le logbackup.log mais je me rappel pas de la syntaxe.
J'ai fais mon dernier premier script, il y a 2 ans ... faut me pardonner
Marsh Posté le 01-06-2011 à 11:44:24
T’es sûr de la fonctionnalité des lignes 32 et 33 ?
Marsh Posté le 01-06-2011 à 11:59:28
Oui oui, puisque j'envoie mes sauvegarde sur un serveur Windows *pas taper* qui gère toutes les sauvegardes, donc je ne les garde pas sur la machine elle-même.
Marsh Posté le 01-06-2011 à 12:03:03
tu peux pas faire une vérife que tes fichiers aient bien été envoyés sur ton serveur de sauvegarde?
imagine tes fichiers ne sont pas passés et tu les supprime?
Marsh Posté le 01-06-2011 à 12:08:10
dohkoo001 a écrit : Oui oui, puisque j'envoie mes sauvegarde sur un serveur Windows *pas taper* qui gère toutes les sauvegardes, donc je ne les garde pas sur la machine elle-même. |
Ce que je ne comprend pas, c’est la redirection après le rm.
Marsh Posté le 01-06-2011 à 12:17:21
C'est bien sa le problème, je ne me rappel plus comment envoyé les infos dans mon fichiers log. Enfin, je ne me rappel plus de la syntaxe.
@ gizmo15 : c'est prévue, mais j'essaie de faire un truc à la fois ... je suis encore débutant au niveau des script.
Marsh Posté le 01-06-2011 à 12:36:16
dohkoo001 a écrit : C'est bien sa le problème, je ne me rappel plus comment envoyé les infos dans mon fichiers log. Enfin, je ne me rappel plus de la syntaxe. |
mysqldump $user $mdp GLPI_ 1> $chm/$(date +%Y-%m-%d).glpi.backup.sql 2>> logbackup.log |
?
Marsh Posté le 01-06-2011 à 12:36:46
J'adore ceux qui ré-inventent la roue
Go le wiki de GLPI, tu vires du script tout ce qui touche à OCS, et tu fais un point de montage propre dans ton fstab
Pour le reste, ça fait quand même un bon exercice de bash
Marsh Posté le 01-06-2011 à 13:05:47
Quelques modifs de base que j'apporterai perso :
Code :
|
Au moi tu sauras grâce à ton fichier de log quand les transferts échouent !
Marsh Posté le 01-06-2011 à 23:08:09
if [ `echo $?` -ne 0 ]; |
Et pourquoi pas $? ? Pour le point-virgule en bout de ligne, il est totalement inutile.
Soit :
if [ $? -ne 0 ] |
Marsh Posté le 04-06-2011 à 14:15:36
j'aime bien complexifier
et pour le point-virgule, je sais bien, mais c'est une habitude que j'ai prise
Marsh Posté le 01-06-2011 à 09:09:51
Bonjour,
Je viens demander un ptit coup de main...
Voilà, j'ai fait un petit script de sauvegarde de base sql sur une debian, et étant débutant en script bash ...