Crontab -e nasıl daha az / etc / crontab'dan farklıdır?


11

Unix ve crons için oldukça yeniyim, şu anda mevcut bir cron dosyasına crons eklemek üzereydim. Bunu yapabileceğini okudum crontab -e. Benim için kafa karıştırıcı olan şey crontab -e, farklı crons / komutları göstermektir less /etc/crontab- nasıl olur? Hangisi düzenlemek için doğru yol / dosya?

Yanıtlar:


14

@X Tian'ın cevabı, crontab için farklı dosyalar hakkında bilgi içermesine rağmen, sorunuzla ilgili temel bilgiler şudur:

crontab -ekullanıcının crontab dosyasını düzenler ( /var/spool/cron/crontabs/geçerli Debian sistemlerinde dizinde depolanır , ancak YMMV) veya yenisini oluşturur, oluşturmaz /etc/crontab. Benzer crontab -l(liste crontab dosyası) ve crontab -r(remove crontab dosyası).

Bir kullanıcının hesabı altında yürütülmesi gereken tüm cron işleri için şunu kullanmalısınız crontab -e. Sistem işleri için /etc/cron.dvarsa altına bir dosya eklemeniz gerekir ; altında /etc/cron.{hourly|daily|weekly|monthly}(ancak bunlar amacınıza uygunsa paket adı gibi adlandırılmamalıdır!); veya bir satır ekleyin /etc/crontab. Ancak bunun /etc/crontabbir sistem güncellemesi ile üzerine yazılabileceğini unutmayın.


@Stephane Chazelas Düzenlemenizle açıklığa kavuştuğunuz için teşekkür ederiz. /var/spool/cron/Dizin Linux uzmanlık (bkz olan File Hiyerarşi Standardı ) ve konumu güncel bir Debian dışındaki sistemlerde değişiklik gösterebilir.
Mart'ta Dubu

3

Gerçekten manuel sayfaları okumak istiyorsunuz man cronveman crontab

İşte sorunuzu kapsayan bir alıntı. itibarenman cron

NOTES cron, biriktirme alanında (/ var / spool / cron / crontabs) crontab dosyaları (/ etc / passwd içindeki hesaplardan sonra adlandırılır) arar; bulunan crontabs hafızaya yüklenir. Bu dizindeki crontablara doğrudan erişilmemesi gerektiğini unutmayın - crontab komutu bunlara erişmek ve bunları güncellemek için kullanılmalıdır.

   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.

1
Hangi cron uygulamasını ve hangi sürümünü hangi işletim sistemi ve hangi sürümünden alıntıladığınızı belirtmelisiniz. cronOS'den OS'ye çok değişen bir şeydir ve bazılarında çeşitli uygulamalar arasında seçim yapabilirsiniz.
Stéphane Chazelas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.