Shell : besoin d'aide pour mon script - Shell/Batch - Programmation
Marsh Posté le 16-07-2009 à 15:52:59
déja pour le script, ca ne me parait pas très prudent... si un jour qqun déplace le site, ton cd se vautre, et il efface tout la ou il est... j'aurais plutot fait un
Code :
|
ou alors au moins vérifier que le répertoire existe bien avant...
et sinon pour la base, je ne vois pas ce qui te bloque... tu as tout dit... éventuellement, mets juste ton drop et ton create au début de ton fichier sauvegarde.sql.gz et ca devrait rouler...
Marsh Posté le 16-07-2009 à 16:00:39
Je n'étais pas vraiment bloqué mais plutôt pas confiant
Effectivement, ta commande de suppression est bien plus efficace.
Je vais tester tout ça.
Merci à toi
Marsh Posté le 17-07-2009 à 19:58:24
pataluc a écrit : déja pour le script, ca ne me parait pas très prudent... si un jour qqun déplace le site, ton cd se vautre, et il efface tout la ou il est... j'aurais plutot fait un
ou alors au moins vérifier que le répertoire existe bien avant... |
La remarque est fondée (bien qu'on puisse remplacer "cd machin; rm -fr *" par "cd machin && rm -fr *" ce qui évite au rm de se lancer si le cd se vautre). Mais généralement j'évite moi-aussi de faire des cd dans mes scripts, je préfère travailler en indiquant où bosser. Toutefois ça peut aussi être dangereux car voici ce que j'ai fait un jour...
J'avais l'habitude, sur ma sun solaris, de purger régulièrement tmp. Je faisais donc
Code :
|
Ca marchait parfaitement. Puis un jour, j'ai voulu aller plus vite et j'ai tapé
Code :
|
Et là, la commande a commencé à durer... durer... Je regardais mon écran sans trop comprendre... puis soudain j'ai réalisé que dans ".*" il avait aussi "..". Et effectivement le rm était remonté à la racine et balayait toute l'arborescence. Total => réinstallation de ma machine. Pas grave car il n'y avait rien de primordial mais pas amusant non plus. Donc méfiance envers les rm *
nero27 a écrit :
|
On peut mettre les lignes suivantes
Code :
|
au début du fichier sql. Le "if exists" a été rajouté à MySQL v5. Mais il semble que dans cet outil, le nom de la bdd n'est pas fixé à l'avance puisqu'on te demande de lancer une connexion sur "site-demo". Or si tu mets le nom de la bdd en dur dans le script sql, tu ne pourras plus le paramétrer ensuite.
Il y a aussi la solution de lancer les commandes en live depuis un script qui reçoit le nom de la bdd en paramètre. Un truc de ce style
Code :
|
Marsh Posté le 16-07-2009 à 15:35:38
Bonjour à tous,
Pour ma boite, je dois installer un site eCommerce démo utilisable par n'importe quel internaute. Comme ça risque d'être rapidement le bazar, je pense mettre en place un script exécuté quotidiennement qui écrasera les fichiers du site (afin de virer les images ou autres fichiers uploadés) et recréera une base de donnée propre.
Le problème, c'est que mes cours de shell sont loin et que j'aurais donc besoin de votre aide pour être sûr de ne pas faire de bêtise.
Voici ce que j'ai fait :
Trouvez-vous ceci correct pour l'instant ?
Maintenant, j'aimerais faire la même chose pour la base de donnée, mais je ne vois pas comment faire.
Voici les commandes mysql à faire pour commencer :
Puis ensuite l'envoi de la sauvegarde dans la base :
Voilà, pourriez-vous m'éclairer ?
Merci d'avance