Comment configurer un crontab pour l'exécuter à un moment précis

Comment puis-je configurer mon crontab pour exécuter le script X à 23:59 tous les jours sans m'envoyer un e-mail ou créer des journaux?

En ce moment ma crontab ressemble à ceci

@daily /path/to/script.sh
0

3 Réponses

Quand vous faites crontab -e, essayez ceci:

59 23 * * * /usr/sbin/myscript > /dev/null

Cela signifie: À 59 minutes et 23 heures tous les jours (*) tous les jours de la semaine, exécutez myscript.

Voir man crontab pour plus d'informations et d'exemples.

0
ajouté

Avec la réponse ci-dessus, vous recevrez un email avec tout texte écrit sur stderr. Certaines personnes le redirigent également et s'assurent que le script écrit un journal à la place.

... 2>&1 ....
0
ajouté

Following up on svrist's answer, depending on your shell, the 2>&1 should go after > /dev/null or you will still see the output from stderr.

Ce qui suit fera taire à la fois stdout et stderr:

59 23 * * * /usr/sbin/myscript > /dev/null 2>&1

Les silences suivants stdout, mais stderr apparaîtra toujours (via stdout):

59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null

The Advanced Bash Scripting Guide's chapter on IO redirection is a good reference--search for 2>&1 to see a couple of examples.

0
ajouté