Bonjour,
J'aimerais faire un fichier (script) de tâche planifier, un script que je lancerait par cron.
Par exemple, dans un script lancer un wget pour la recup d'un fichier, puis si le fichier à bien été recup, lancer d'autre commande shell derrière.
Sachant que je n'y connais rien en prog shell, quelqu'un peut me faire un ch'ti exemple ?
De plus peut'on, toujours dans un scipt shell, lancer par une tâche cron,
vider le contenu d'une table MYSQL (DELETE FROM table ;) ?
Merci.
# adresse
Posté par Jean-Yves Beaujean (site web personnel) . Évalué à 1.
http://www.ioz.be/index.php?action=read&mode=view&type=P&am(...)
# c'est possible !
Posté par Babelouest (site web personnel) . Évalué à 1.
pour le mysql c'est encore plus simple, redirection d'entrée standard ou fichier
je conseille toutefois de mettre ca dans un script ou seul l'utilsateur concerné a les droits de lecture, parce que le mot de passe utilisé pour mysql est en clair
en passant par un fichier tiers (méthode je pense à conseiller car si tu dois faire évoluer le script plus tard, ca t'évitera d'avoir une ligne de commande qui va jusqu'a poitier)
tu créé un fichier toto.sql dans lequel tu mets tes commandes brut de décoffrage
ensuite, dans un autre script, tu lances l'execution via l'outil mysql
il faut préciser le user, le mot de passe (s'il y a lieu) et le nom de la base à laquelle exécuter les requetes
du genre si ton utilisateur est dbplop, mot de passe dbplop, sur la base dbplop:
[^] # Re: c'est possible !
Posté par yolker . Évalué à 1.
0 si le téléchargement a réussi
1 si le fichier n'est pas accessible
etc etc
si tu teste la présence du fichier et qu'il n'a pas été téléchargé en entier, le fichier sera quand même présent ... tu n'aura donc pas le résultat souhaité
[^] # Re: c'est possible !
Posté par roule007 . Évalué à 1.
line 15: syntax error: unexpected end of file
Voila le script :
#!/bin/sh
#wget http://www.monsite/hello.xml(...) -O hello.xml
if [ -f hello.xml ];
then
sed -f regles.sed hello.xml > hello2.xml
/usr/bin/mysql -utest -ptest dbtest < delete.sql
sabcmd hello.xsl hello2.xml | mysql -utest -ptest dbtest
rm -f hello.xml
rm -f hello2.xml
else
echo Probleme
fi
J'ai essayé avec ; et sans ; et pas de changement tjrs la même herreure!
A L'AIDE PLEASE !
[^] # Re: c'est possible !
Posté par Babelouest (site web personnel) . Évalué à 1.
tu as du oublier le ; apres le fi
ceci dit, comme il est expliqué plus haut, je te conseille d'utiliser la valeur de retour de wget dans le if, ca sera plus propre (man wget)
[^] # Re: c'est possible !
Posté par roule007 . Évalué à 1.
Les retours chariot n'étant pas les mêmes, linux ne les reconnaissait pas !
Bref, sinon je suis bien intéressé par ta variables wget mais je ne trouve rien dessus, alors si tu pouvais me montrer comment verifier si le dl c bien passé...
Merci !
P.S : De plus j'ai un sérieux pb ce que dans mon script posté au dessus, même si le fichier n'ai pas la, il rentre dans le if, donc il me drop la table et pour le reste il essaye, mais vu que le fichier n'est pas la il plante !
Mon pb est que si le fichier n'est pas sur le dur, je ne veux pas supprimer ma table !
HELP THANKS ;)
[^] # Re: c'est possible !
Posté par yolker . Évalué à 2.
Exemple :
#!/bin/sh
wget http://www.monsite/hello.xml(...)(...)(...) -O hello.xml
if [ $? = 0 ];
then
sed -f regles.sed hello.xml > hello2.xml
/usr/bin/mysql -utest -ptest dbtest < delete.sql
sabcmd hello.xsl hello2.xml | mysql -utest -ptest dbtest
rm -f hello.xml
rm -f hello2.xml
else
echo Probleme
fi;
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.