Instâncias do Crontab

1

Eu tenho feito algumas pesquisas sobre tarefas de agendamento e quais não. Me deparei com a função de comando crontab.

O crontab é um arquivo que é criado ou é um comando?

Se for um arquivo, quantos usuários podem ter um? Eles são específicos do usuário ou específicos do sistema (por exemplo, se eu criar uma tarefa usando o crontab, a tarefa será executada se outro usuário efetuar login no sistema?)

Se for um comando, onde é armazenada a informação para executar tarefas?

    
por Craig Wayne 05.11.2012 / 21:38

2 respostas

1

O comando crontab -e criará um arquivo, mas você não precisa saber disso e nunca deve editá-lo manualmente.

man crontab mostra as várias opções, sendo as mais importantes:

  • crontab -e edit
  • crontab -l list

Observe que seu ambiente como um cron job é bem diferente daquele que você está acostumado em um shell interativo. O mais fácil de inspecionar isso é definir um cron job da seguinte maneira:

* * * * * set > /tmp/environment.log

# | | |  \day of week    0-7 (0 or 7 is Sun, or use names)
# | |  \--month          1-12 (or names, see below)
# |  \----day of month   1-31
#  \------hour           0-23
#\--------minute         0-59

Para a sintaxe do próprio crontab, verifique man 5 crontab .

Em seguida, aguarde um minuto e remova o cronjob novamente, caso contrário, esse trabalho sem sentido será executado a cada minuto.

Em seguida, verifique a diferença entre o shell interativo (apenas digite set ) e o cronjob (apenas digite cat /tmp/environment ). Especialmente PATH e SHELL podem surpreendê-lo.

    
por jippie 05.11.2012 / 21:56
0

Se você está interessado em agendar tarefas como uma conta normal usuário no Ubuntu (ou seja, você não está fazendo coisas do sistema como root ), então você deve pular todas as especificidades de cron , crontab , at e anacron .

Em vez disso, consulte o aplicativo Tarefas agendadas disponível no Ubuntu através do menu Unity Dash ou de aplicativos semelhantes. Simplifica enormemente o trabalho de agendar itens. Existem algumas "dicas" relacionadas ao seu uso, mas desta forma você não precisa fazer nada na linha de comando.

Por exemplo, tenho um pequeno script de backup que executo periodicamente usando Tarefas agendadas . (O programa basicamente insere itens no seu crontab, etc.)

Tarefas agendadas fornece duas visualizações diferentes. Uma visão é simplificada, assim:

A outra vista mostra o que o crontab mostraria:

Uma das "armadilhas" é que seu "PATH" normal não está disponível para um item específico, então você precisa ser explícito sobre qual comando deve ser executado.

De qualquer forma, os detalhes de cron , crontab , at e anacron são todos muito amplos para serem específicos do Ubuntu.

    
por user29020 16.07.2014 / 21:08