Bonjour,
je voudrais faire un script shell (un batch), qui s’exécute dans une tache planifiée (cron) mais je ne sais pas comment le faire. Est-il possible de m'aider un peu ?
merci d'avance
Bonjour,
je voudrais faire un script shell (un batch), qui s’exécute dans une tache planifiée (cron) mais je ne sais pas comment le faire. Est-il possible de m'aider un peu ?
merci d'avance
non pas avec aussi peu d'informations sur ton besoin, il n'est pas possible de t'aider.![]()
Un exemple générique ferait très bien l'affaire. (le contenu d'un fichier batch, le mettre exécutable, rendre contable, et l’exécuter en tant que cron, bref juste un exemple très simple)
ps: j'ai peut être dit des bêtises. (j'ai juste proposé) c'est pour ça que je cherche un exemple simple.
prends un cron quelconque qui execute quelque chose qui n'est pas écrit par toi déjà ....
genre& tu colles ça dans des crontab
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "truc" > /tmp/machin
un exemple de crontab
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 * * * * 1-5 echo "toto" >> /tmp/machin
cherches les horaires débiles/inutiles de cet exemple et tu auras compris crontab
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 0 20 * * 1-5 /usr/sbin/rdate -ncv ntp.univ-lyon1.fr 30 22 * * * /usr/bin/find /home/ -type f -name "*.core" -exec /usr/bin/rm {} \; 15,45 19,23 * * * /usr/bin/find /home/ -type f -name "nohup.out" -exec /usr/bin/rm {} \; 10 23 1-7 * 0,6 /bin/rm -rf /home/francois/Downloads/* 11 18 * * 0,6 /usr/local/bin/mysqldump -u francois -p"*******" --all-databases -h undertaker > /home/francois/Documents/mysql.dump.$(date +\%Y\%m\%d) 21 18 * * 0,6 /usr/local/bin/mysqldump -u root -p"******" --all-databases -h undertaker > /home/francois/Documents/mysql.full.$(date +\%Y\%m\%d) 30 19 * * 0,6 /usr/bin/gzip /home/francois/Documents/mysql.[fd]u[lm][lp].$(date +\%Y\%m\%d) 45 21 1-6 1,3,5,7,9,11 0 /usr/bin/find /home/francois/Documents/ -type f -name "mysql.*gz" -mtime +365 -exec /usr/bin/rm -f {} \; -print
j'ai tenté de faire ça mais ça marche pas
la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 22 12 * * * mysqldump -hlocalhost -uroot -pTBbillel21 reporting-rh | gzip > reporting-rh_bdd_backup_09_08_2011.sql.gz
message : bash: 22: command not found
si quelqu'un peut me diriger ou m'aider
y'a un moment où il va falloir envisager de lire un minimumtu fais tout connement comme dans les exemples cités au dessus.
pour le restetu verras que c'est
Code : Sélectionner tout - Visualiser dans une fenêtre à part man crontab
pour éditer (mode vi)
Code : Sélectionner tout - Visualiser dans une fenêtre à part crontab -e
donc tu fais
par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part 0 20 * * 1-5 /chemin/backup_db.sh
oublies pas que crontab ne charge pas d'environnements et que "%" est un commentaire en crontab donc si tu en utilises il faut remplacer par "\%" afin que ça soit interprété...
bien sur ton script doit fonctionner correctement unitairement avant de l'intégrer en crontab. Mais c'est si évident que je ne sais pas pourquoi je le mentionne.
j'espère que c'est plus clair maintenant
Partager