D'une certaine manière, j'ai du mal à comprendre le réglage des *
paramètres avec cron.
Je voulais qu'un travail s'exécute toutes les heures et j'ai utilisé le paramètre ci-dessous:
* */1 * * *
Mais cela ne semble pas faire l'affaire. Quelqu'un pourrait-il expliquer la signification de ce qui précède et ce qui est nécessaire pour le travail?
Réponses:
*
signifie tout .*/n
signifie chaque nième . (Cela*/1
signifie donc tous les 1. )Si vous ne souhaitez l'exécuter qu'une fois par heure, vous devez définir le premier élément sur autre chose
*
, par exemple20 * * * *
pour l'exécuter toutes les heures à la minute 20.Ou si vous avez la permission d'écrire /etc/cron.hourly/ (ou quoi que ce soit sur votre système), vous pouvez y placer un script.
la source
n
signifie exactement à n . Comme ci-dessus, 20 signifie à la minute 20 .1/n
signifie à partir de 1, tous les n . Cependant, en pratique, cela est utilisé comme1-2/n
, c'est- à- dire dans un intervalle de 1 à 2, tous les n . (Notez que toutes lescron
implémentations ne prennent pas en charge les intervalles.)/etc/cron.hourly
sur n'importe quelle machine moderne. Nous l'avons attendu des décennies, et c'est pour ça!Le
*/1
est redondant, vous devez utiliser à la*
place.n'exécute pas le travail toutes les heures, l'exécute toutes les minutes!
Pour exécuter un travail toutes les heures (à 1h00, 2h00, etc.), utilisez
la source