Похоже, что у cron нет определения $BPY
. Это some_script.py
который должен быть выполнен? Какова цель $BPY
? Кроме того, вам, вероятно, потребуется полный путь к сценарию, а не только его имя.
Предполагая, что some_script.py
является реально предназначенным исполняемым скриптом, попробуйте просто выполнить его (с полным путем !!)
В ваших комментариях под этим ответом вы сказали, что $BPY
- это путь Python. Вместо этого вы должны использовать shebang
чтобы указать полный путь интерпретатора, который должен использоваться. Типичный питон, определяющий python: #!/usr/bin/python
. Это должна быть первая строка вашего файла some_script.py
.
Что касается синтаксиса ...
Формат Cron - это простой, но мощный и гибкий способ определения времени и частоты различных действий.
Формат cron состоит из полей, разделенных пробелами:
[Min] [Hr] [Day of Month] [Month of Year] [Day of Week]
Следующая диаграмма показывает, из чего он состоит:
* * * * *
| | | | |
| | | | +---- Day of the Week (range: 0-6, 0 standing for Sunday; Mon,Tue, etc.
| | | | Most OS's recognize Sunday as 0 or 7)
| | | +------ Month of the Year (range: 1-12 or Jan, Feb, etc)
| | +-------- Day of the Month (range: 1-31)
| +---------- Hour (range: 0-23)
+------------ Minute (range: 0-59)
Любое из этих 6 полей может быть звездочкой (*
). Это будет означать весь диапазон возможных значений, т.е. каждую минуту, каждый час и т.д. В первых четырех полях.
Любое поле может содержать список значений, разделенных запятыми (например, 1,3,7
) или диапазон значений (два целых числа, разделенных дефисом, например, 1-5
).
После звездочки (*
) или диапазона значений вы можете использовать символ /
чтобы указать, что значения повторяются снова и снова с определенным интервалом между ними. Например, вы можете написать 0-23/2
в поле Час, чтобы указать, что какое-то действие должно выполняться каждые два часа (оно будет иметь тот же эффект, что и 0,2,4,6,8,10,12,14,16,18,20,22
). Значение */4
в поле «Минуты» означает, что действие должно выполняться каждые 4 минуты. 1-30/3
означает то же, что и 1,4,7,10,13,16,19,22,25,28
.
В полях «Месяц» и «День недели» вместо числовых значений можно использовать названия месяцев или дней недель, сокращенные до первых трех букв (Jan
, Feb
, ..., Dec
или Mon
, Tue
, ..., Sun
).
Кроме того, вы можете использовать специальные ключевые слова вместо первых 5 полей, указанных выше:
string meaning
------ -------
@reboot Run once, at startup.
@yearly Run once a year, "0 0 1 1 *".
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *".
@weekly Run once a week, "0 0 * * 0".
@daily Run once a day, "0 0 * * *".
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *".
Этот альтернативный формат не поддерживается в старых проприетарных операционных системах, таких как SCO Unix.