Como é que o crontab -e é diferente de menos / etc / crontab?

10

Im muito novo para unix e crons, eu estava atualmente prestes a adicionar crons a um arquivo cron existente. Eu li que você poderia fazer isso com crontab -e . O mais confuso para mim é que crontab -e mostra diferentes crons / comandos do que less /etc/crontab - por que? Qual é o caminho / arquivo correto para editar?

    
por Alex 13.03.2014 / 11:06

2 respostas

13

Embora a resposta do @X Tian contenha informações sobre os diferentes arquivos do crontab, as informações essenciais sobre a sua pergunta são:

crontab -e edita o arquivo crontab do usuário (armazenado no diretório /var/spool/cron/crontabs/ nos sistemas Debian atuais, mas YMMV) ou cria um novo, e não /etc/crontab . Semelhante para crontab -l (listar arquivo crontab) e crontab -r (remover arquivo crontab).

Para todos os trabalhos agendados que devem ser executados na conta de um usuário, você deve usar crontab -e . Para tarefas do sistema, você deve adicionar um arquivo em /etc/cron.d , se ele existir; sob /etc/cron.{hourly|daily|weekly|monthly} (mas esses não devem ser nomeados como um nome de pacote!), se isso for adequado ao seu propósito; ou adicione uma linha a /etc/crontab . Mas esteja ciente de que /etc/crontab pode ser substituído por uma atualização do sistema.

    
por 13.03.2014 / 11:39
3

Você realmente quer ler as páginas de manual man cron e man crontab

Aqui está um extrato que cobre sua pergunta. De man cron

NOTES cron searches its spool area (/var/spool/cron/crontabs) for crontab files (which are named after accounts in /etc/passwd); crontabs found are loaded into memory. Note that crontabs in this directory should not be accessed directly - the crontab command should be used to access and update them.

   cron also reads /etc/crontab, which is in a slightly  different  format
   (see  crontab(5)).   Additionally, cron reads the files in /etc/cron.d:
   it treats  the  files  in  /etc/cron.d  as  in  the  same  way  as  the
   /etc/crontab  file  (they  follow the special format of that file, i.e.
   they  include  the  user  field).  However,  they  are  independent  of
   /etc/crontab:  they  do  not, for example, inherit environment variable
   settings from it. The intended purpose of  this  feature  is  to  allow
   packages  that  require  finer  control  of  their  scheduling than the
   /etc/cron.{daily,weekly,monthly} directories to add a crontab  file  to
   /etc/cron.d. Such files should be named after the package that supplies
   them. Files must conform to the same naming convention as used by  run-
   parts(8):  they  must  consist solely of upper- and lower-case letters,
   digits, underscores, and hyphens. If the -l option is  specified,  then
   they must conform to the LSB namespace specification, exactly as in the
   --lsbsysinit option in run-parts.
    
por 13.03.2014 / 11:30

Tags