Maintenant, vous pouvez ajouter vos propres tâches cron à la fin de ce fichier et une fois que vous êtes satisfait, enregistrez-le et quittez l'éditeur de texte. Syntaxe d'exécution d'une commande toutes les minutes: La syntaxe de crontab fichier est le suivant: minute heure dayOfMonth mois dayOfWeek commandToRun Ici, minute peut être 0 à 59. heure peut également être 0 à 59. jour du mois peut être 1 à 31. Comment exécuter un travail cron toutes les 30 minutes?. mois peut être 1 à 12. jour de la semaine peut être 0 à 7. 0 et 7 signifie dimanche, 1 signifie lundi, 2 signifie mardi et ainsi de suite. Pour exécuter un commandToRun commande toutes les minutes, vous devez l'écrire dans le crontab fichier comme suit: * * * * * commandToRun Exécuter une tâche Crob toutes les minutes: Maintenant que nous connaissons les théories, ajoutons un script simple à la crontab fichier et voyez comment le gérer. Dans le script, je n'ai que les lignes de codes suivantes. Tout ce qu'il fait est de créer un nouveau fichier /home/shovon/bin/ (si n'existe pas déjà) et lui ajoute la sortie de la commande date.
Bonjour, Je voudrais lancer une tâche toute les (par exemple) 23 minutes. Sauf qu'avec cron, si je fais */23, ça va lancer à h:23 h:46, et on recommence à l'heure suivante h+1:23 h+1:46, etc.. Ce que je voudrais: h:23, h:46, h+1:09, h+1:32.. etc... vraiment toutes les 23 minutes quoi:) Quelqu'un saurait comment faire ça?
Les accè le fichier est vide pour le moment. Maintenant je vais créer le fichier /tmp/je_doit_être_ici Et comme vous pouvez le voir, la sortie est dans le accè fichier maintenant. Si vous le souhaitez, vous pouvez rediriger la sortie et les erreurs dans le même fichier comme suit: Comme vous pouvez le voir, les sorties STDIN et STDERR sont envoyées au déposer. S'assurer que le dernier travail est terminé avant d'exécuter à nouveau le travail: Pour que cela fonctionne, vous pouvez créer un fichier temporaire juste après le début du travail et le supprimer juste avant qu'il ne se termine. Crontab toutes les minutes dans. Ensuite, vous pouvez vérifier si le fichier temporaire existe avant de démarrer le travail. Si tel est le cas, vous pouvez quitter le travail et exécuter le travail uniquement lorsque le fichier temporaire n'est pas disponible. Ce script simple fait exactement cela. Comme vous pouvez le voir, le fichier est créé. Lire le accè prouve que la tâche cron ne s'exécute pas avant la fin de l'exécution de la tâche cron précédente.
Disons que nous voulons commencer à exécuter la commande la première fois lorsque Marty McFly est arrivé à Riverdale, puis la répéter toutes les n minutes plus tard. % date - d '2015-10-21 07:28:00' +% s 1445412480 Pour qu'un cronjob s'exécute toutes les 42 nd minutes après `2015-10-21 07:28:00 ', le crontab ressemblerait à ceci: * * * * * minutetestcmd "2015-10-21 07:28:00" 42 && command avec minutetestcmd défini comme #! /usr/bin/env bash starttime = $ ( date - d "$1" "+%s") # return UTC time now = $ ( date "+%s") # get the amount of minutes (using integer division to avoid lag) minutes = $ (( ( now - starttime) / 60)) # set the modulo modulo = $2 # do the test (( now >= starttime)) && (( minutes% modulo == 0)) Remarque: l' heure UNIX n'est pas influencée par les secondes intercalaires Remarque: cron n'a pas de précision inférieure à la seconde
Si vous souhaitez exécuter un cron toutes les n minutes, il existe quelques options possibles en fonction de la valeur de n. n divise 60 (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30) Ici, la solution est simple en utilisant la / notation: # Example of job definition: #. ---------------- minute (0 - 59) # |. ------------- hour (0 - 23) # | |. ---------- day of month (1 - 31) # | | |. ------- month (1 - 12) OR jan, feb, mar, apr... # | | | |. Cronjob toutes les 20 minutes - Crontab-generator.com. ---- day of week (0 - 6) (Sunday=0 or 7) # | | | | | # * * * * * command to be executed m - 59 / n * * * * command Dans ce qui précède, n représente la valeur n et m représente une valeur inférieure à n ou *. Cela exécutera la commande aux minutes m, m+n, m+2n,... n ne divise PAS 60 Si n ne divise pas 60, vous ne pouvez pas le faire proprement avec cron, mais c'est possible. Pour ce faire, vous devez mettre un test dans le cron où le test vérifie l'heure. Cela est mieux fait lorsque vous regardez l'horodatage UNIX, le nombre total de secondes depuis 1970-01-01 00:00:00 UTC.
Comme vous pouvez le voir, il a fonctionné à 01:32:01 et la prochaine fois, il aurait dû fonctionner à 01:33:01, mais ce n'est pas le cas. Au lieu de cela, il a fonctionné à 01:35:01, environ 3 minutes plus tard. Organisation des sorties de tâche Cron pour un débogage facile: Vous pouvez bien formater les sorties pour faciliter le débogage de votre travail cron. Un exemple de la façon dont cela peut être fait est donné dans le script suivant. Comme vous pouvez le voir, les sorties, les erreurs et les messages de réussite sont bien imprimés dans le fichier journal. Cronjob toutes les minutes - Crontab-generator.com. Vous pouvez faire des choses incroyables avec les tâches cron et les scripts shell. J'ai démontré certaines des idées ici. Mais le ciel est ta limite. N'hésitez pas à expérimenter avec toutes les idées que vous avez. Merci d'avoir lu cet article.
Comment exécuter un travail cron toutes les 30 minutes? Je cherche à ajouter une crontab entrée pour exécuter un script toutes les 30 minutes, à l'heure et 30 minutes après l'heure ou quelque chose de proche. J'ai ce qui suit, mais il ne semble pas fonctionner sur 0. */30 * * * * Quelle chaîne dois-je utiliser? Le cron fonctionne sur OSX.