crontab -e, então 0 * * * * = a cada hora… Onde está armazenado

14

Após o sudo crontab -e (ele escreveu "/tmp/crontab.XXXX70pN9h" 1L, 19C 1,1 Todos

Então eu salvei o arquivo. E para verificar ..? (como? eu não sei)

And to check I 
ps -e | grep cron
29818 ?        00:00:00 cron

Então .. mas eu decidi verificar novamente, mas

sudo cat /etc/cron.hourly
cat: /etc/cron.hourly: Is a directory
xi@localhost ~ $ sudo ls /etc/cron.hourly

Nada! ou seja, no diretório

Pelo que entendi primeiro 0 na posição da hora significa toda hora?

Xsi
fonte
Ok, eu vou esperar por uma hora (o hiato mais lessest na documentação)
Xsi
Você definitivamente quer checar uma pergunta minha. Tem uma resposta de Stephane Chazelas que explica como você pode criar um shell interativo idêntico ao ambiente que seu trabalho cron verá. Se você seguir seu pequeno procedimento, receberá um prompt e poderá testar seu cronjob passo a passo e ver onde ele falhará. unix.stackexchange.com/a/56503/16841 Claro que não é 100% correspondente à sua pergunta, mas pode ajudá-lo a solucionar problemas de crontab.
jippie

Respostas:

24

Os campos no cron são:

m      h       dom             mon     dow          command
Minute Hour    Day of Month    Month   Day of week  <command>

E você 0 * * * * <command>então traduz para "Executar comando a cada hora, todos os dias, todos os meses e todos os dias da semana, se o minuto for 0"

Você pode listar seu crontab usando crontab -l, como delh já afirmou.

Pegue este link aqui, existem alguns exemplos práticos de Cron

Bonsi Scott
fonte
date [-u | --utc | --universal] [MMDDhhmm [[CC] YY] [. ss]] é como, mas vice-versa
Xsi 9/11/12
O que isso tem a ver com cron?
Bonsi Scott
9

Você crontabe cron.hourlysão entidades separadas. Colocar algo no seu crontabnão o coloca cron.hourly, mesmo que seja executado a cada hora. Colocar um script cron.hourlyé apenas outra maneira de executá-lo a cada hora, ou seja, seu crondaemon verifica tanto o seu crontab como o cron.hourly . Tê-lo em ambos executaria duas vezes.

Chris Down
fonte
Sex Nov 9 15:16:01 EET 2012 xi @ localhost ~ $ ls /var/log/cron.log ls: não é possível acessar /var/log/cron.log: Não
existe
3

Você pode verificar se o crontab está instalado usando:

sudo crontab -l

A cada hora, uma mensagem de log deve aparecer na /var/log/syslogmedida em que foi executada.

Leitura adicional:

http://www.linuxweblog.com/crotab-tutorial

Acho que o primeiro zero (0) são os minutos. Mas se você disser que deseja que algo seja feito quando os minutos forem 0, ele será executado a cada hora. Como apenas uma vez por hora, os minutos são zero.

delh
fonte
2

Você pode simplesmente executar um cron seguindo o tutorial a seguir

http://answergig.com/48/please-provide-some-linux-cron-job-examples?show=48#q48

0 * * * *  /path
Sam
fonte
1
Normalmente, não gostamos muito de respostas apenas para links, porque os links podem morrer com o tempo. Você pode reproduzir talvez as principais etapas da página vinculada?
Bernhard
1

Se você estiver realmente procurando por arquivos cron do usuário para ver quando ele foi alterado ou algo dessa natureza, pode ser encontrado, /var/spool/cron/mas provavelmente você não deve manipular os arquivos manualmente.

Molimo
fonte
Não tanto provavelmente não deveria , como não deveria . O crondaemon não notará alterações se você editar os arquivos diretamente. Em vez disso, use crontab -lpara listar o usuário atual, crontab -eeditar para o usuário atual e / ou incluir -u {user}também para acessar esse usuário diferente crontab. Tudo isso está bem definido na página de manual docrontab .
roaima
Acredito que existem maneiras de definir crona verificação automática dos arquivos para alterações, se você realmente precisar atualizá-los manualmente.
Molimo 28/10
Se você precisar atualizá-los manualmente, use a crontabinterface; é para isso que existe. Caso contrário, você precisará parar e reiniciar o crondaemon.
roaima