J'ai besoin du code exact que je voudrais utiliser car je ne suis pas capable de le comprendre. J'utilise crontab -e
pour configurer un travail cron, mais lorsque je l'enregistre, cela ne fonctionne jamais. J'essaie aussi simplement d'exécuter un fichier appelé newmail.sh
à partir de l'utilisateur root.
Si vous voulez que la tâche soit exécutée tous les jours à 15h17, vous utiliserez:
17 15 * * * root newmail.sh
Cela dit "lancez newmail.sh en tant que root tous les jours de la semaine, tous les jours du mois, tous les mois à 15h17".
minute heure dom mois dow utilisateur cmd
minute - Ceci contrôle la minute de l'heure d'exécution de la commande et se situe entre '0' et '59'
hour - Ceci contrôle l'heure à laquelle la commande sera exécutée et est spécifié dans l'horloge 24 heures. Les valeurs doivent être comprises entre 0 et 23 (0 correspond à minuit).
dom - C’est le jour du mois sur lequel vous souhaitez exécuter la commande, par exemple. pour exécuter une commande le 19 de chaque mois, le dom aurait 19 ans.
month C'est le mois sur lequel la commande spécifiée sera exécutée. Elle peut être spécifiée numériquement (0-12) ou sous le nom du mois (par exemple, mai).
dow - C'est le jour de la semaine sur lequel vous souhaitez exécuter une commande. Il peut également être numérique (0 à 7) ou sous le nom du jour (par exemple, Sun).
user - C'est l'utilisateur qui exécute la commande.
cmd - C'est la commande que vous voulez exécuter. Ce champ peut contenir plusieurs mots ou espaces.
à partir de: http://www.unixgeeks.org/security/newbie/unix/cron-1.html
Sudo crontab -e
Ajouter ces lignes en fin de fichier
*/1 * * * * wget -O /dev/null project_crone_URL
(Exécutez cron une fois par minute)
0 0 * * * wget -O /dev/null project_crone_URL
(Exécutez cron une fois par 24 heures)
sauvegarder le fichier
Lancer crontab avec cette commande
Sudo /etc/init.d/cron start
Arrêtez crontab avec cette commande
Sudo /etc/init.d/cron stop
Redémarrez crontab avec cette commande
Sudo /etc/init.d/cron restart
Si vous utilisez crontab -e
puisque Ubuntu 16.0 + n'aura pas le champ utilisateur, le format correct est donc:
17 15 * * * newmail.sh
Ceci dit "lancez newmail.sh tous les jours de la semaine, tous les jours du mois, tous les mois à 15h17".
Autres moyens La réponse de dm78 est correcte et contient la description exacte du format.
De plus, si quelque chose ne va pas et que vous avez un système de messagerie installé, il vous enverra un message. Pour plus d'informations, voir cette réponse
Si vous êtes intéressé par la journalisation de cronjobs, vous pouvez utiliser cette réponse .