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.