Запустити Crontab в будь-який час після 4 вечора


3

Я намагаюся запустити скрипт через crontab в osx 10.8.5, який буде працювати о 4:30.

30 16 * * 1-5 /Library/Frameworks/Python.framework/Versions/2.7/bin/python /Users/lego90511/PycharmProjects/Stock\ Scanner/stock_scanner.py

Але сьогодні я зрозумів, що мій комп'ютер не завжди працює о 4:30. Тому я додав виправлення * 16 * * 1-5. Але тоді я зрозумів, що це може бути не від 4-5. Як я можу встановити crontab для запуску в будь-який час після 16:00 (16 крон часу)?

Відповіді:


5

Завдяки тому, як cron робить свою обробку, я не впевнений, що ви можете використовувати cron само собою зробити це. Від крон (8) man page:

Утиліта cron потім прокидається кожну хвилину, перевіряючи всі збережені crontabs, перевіряючи кожну команду, щоб побачити, чи вона повинна бути запущена в поточній хвилині. При виконанні команд будь-який висновок надсилається власнику crontab (або користувачеві, названому в змінній середовища MAILTO у crontab, якщо такий існує).

Cron не має жодного методу для ідентифікації вже запущених записів. Отже, ви могли б зробити це:

* 16-23 * * 1-5 <script>

Але, це просто сказати cron, щоб запустити цей сценарій кожну хвилину з 16:00 до 23:59, доки крон працював. (Дивлячись на crontab (5) man page, я не думаю, що ви можете зробити "16-24" або "16-0.")

Отже, якщо ви хочете щось бігти один раз з 16:00 до опівночі, моя пропозиція - запустити скрипт кожні 15 хвилин після 16:00.

*/4 16-23 * * 1-5 <script>

Потім, у скрипті , вкажіть певний метод, щоб визначити, чи запущено цей сценарій у цей день.


1

Для Linux є Anacron для пропущених робочих місць. (подивитися тут )

Для Mac OSX i цієї версії але, здається, припинено.

Також є версія тут що є для "Leopard":

Примітка: Ця версія Anacron буде працювати на MacOS 10.5 (Leopard), але вона не потрібна, тому що Leopard launchd запуститься пропущені завдання, коли машина наступного прокинувся.   Детальніше читайте на http://mac.majorgeeks.com/files/details/anacron.html#Z5s7GokjQVbUATOU.99

Ви можете спробувати, якщо він працює на "Гірський лев" або перейти на "Launchd", який має функціональність для запуску пропущених завдань, вбудованих.


Крона і Анакрона
Якщо ви запускаєте Mandrake, SUSE або будь-який інший дистрибутив, і ваш комп'ютер не заряджається 24 години на добу, існує кілька завдань Cron, які можна забути, оскільки вони заплановані на 3:00 4:00 ранку. Встановлення Anacron встановить це на права. Anacron шукає пропущені завдання Cron і виконує їх через п'ять хвилин після завантаження комп'ютера. Як результат, ви помітите додаткову активність вашого процесора і жорсткого диска протягом п'яти-семи 7 хвилин. Примітка. У Red Hat і Fedora за замовчуванням встановлено Anacron.

Встановлення Anacron просте і не потребує спеціальної конфігурації. Ось приклад того, як його встановити за допомогою Mandrake:

Центр керування Mandrake & gt; Керування програмним забезпеченням & gt; Встановлення програмного забезпечення & gt; шукати Анакрона.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.