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?


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


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.


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.



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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.