Parece que o cron não possui $BPY
definido. É some_script.py
que precisa ser executado? Qual é o objetivo de $BPY
? Além disso, você provavelmente precisará do caminho completo do script, não apenas do próprio nome do script.
Assumindo que some_script.py
é o verdadeiro script executado, tente apenas executá-lo (com o caminho completo !!)
Em seus comentários abaixo desta resposta, você disse que o $BPY
é o caminho do Python. Em vez de fazer isso, você deve usar um shebang
para especificar o caminho completo do interpretador que será usado. Um shebang comum especificando python é: #!/usr/bin/python
. Esta deve ser a primeira linha do seu arquivo some_script.py
.
No que diz respeito à sintaxe ...
O formato Cron é uma maneira simples, mas poderosa e flexível de definir o tempo e a frequência de várias ações.
o formato cron consiste em campos separados por espaços em branco:
[Min] [Hr] [Day of Month] [Month of Year] [Day of Week]
O diagrama a seguir mostra em que consiste:
* * * * * | | | | | | | | | +---- 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)
Qualquer um desses 6 campos pode ser um asterisco ( *
). Isso significaria todo o intervalo de valores possíveis, ou seja, a cada minuto, cada hora, etc. Nos primeiros quatro campos.
Qualquer campo pode conter uma lista de valores separados por vírgulas (por exemplo, 1,3,7
) ou um intervalo de valores (dois inteiros separados por um hífen, por exemplo, 1-5
).
Após um asterisco ( *
) ou um intervalo de valores, você pode usar o caractere /
para especificar que os valores sejam repetidos várias vezes com um determinado intervalo entre eles. Por exemplo, você pode escrever 0-23/2
no campo Hora para especificar que alguma ação deve ser executada a cada duas horas (terá o mesmo efeito que 0,2,4,6,8,10,12,14,16,18,20,22
). Um valor de */4
no campo Minuto significa que a ação deve ser executada a cada 4 minutos. 1-30/3
significa o mesmo que 1,4,7,10,13,16,19,22,25,28
.
Nos campos Mês e Dia da semana, você pode usar nomes de meses ou dias das semanas abreviados para as três primeiras letras ( Jan
, Feb
, ..., Dec
ou Mon
, Tue
, ..., Sun
) em vez de seus valores numéricos.
Como alternativa, você pode usar palavras-chave especiais em vez dos primeiros 5 campos especificados acima:
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 * * * *".
Este formato alternativo não é suportado em sistemas operacionais proprietários mais antigos, como o SCO Unix.