/Etc/cron.d'de @reboot nasıl kullanılır


17

Bireysel kullanıcının crontabs'ını /etc/cron.d dosyasına geçiriyorum;

Şimdiye kadar, kullanıcının crontabs ve vb olanlar arasındaki tek farkı anladığım gibi, kullanıcıyı 6. sütun olarak belirtmeniz gerekiyor. Bu doğru mu?

Ve cevabımı internette hiçbir yerde bulamadığım ana sorum: @reboot/etc/cron.d veya / etc / crontab'da kullanmanın doğru yolu nedir ?

gibi bir şey @reboot root command?

Yanıtlar:


20

Gönderen crontab man sayfasına :

/Etc/cron.d/ içindeki işler

Cron.d dosyasındaki işler, genellikle birden fazla kullanıcı için kullanılan sistem işleridir. Kullanıcının ismine ihtiyaç duyulmasının nedeni budur. İlk satırdaki MAILTO isteğe bağlıdır.

İŞ İÇİN ÖRNEK /etc/cron.d/job

 #login as root
 #create job with preferred editor (e.g. vim)
 MAILTO=root
 * * * * * root touch /tmp/file

Bu / crontab ile ilgili tüm bölüm , bu yüzden işin çalıştığı adı altında kullanıcının dahil edilmesi gerçekten tek fark sanırım .

Yine aynı adam sayfasından:

Bu ilk zaman belirtimi "takma adlar" desteklenir ve bunlar 5 başlangıç ​​saat ve tarih alanının yerini alır ve önüne '@' karakteri eklenir:

@reboot: Yeniden başlattıktan sonra bir kez çalıştırın.

Böylece uygun yolu kullanmak için o sizin çıkarsama @reboot olduğunu

   @reboot user_name command

olduğu doğru .


1

Durumunda /etc/crontabbu satırları eklemeniz yeterlidir.

@reboot        command

Burada komut herhangi bir komut dosyası veya tek bir dosya olabilir.


İşe yarıyor mu? /etc/crontabgenellikle bir kullanıcı adı gerektirir.
mwfearnley

1

Aşağıdaki gibi etkileşimli olarak çalıştırıyorsanız, kullanıcıyı belirtmezsiniz:

crontab -e
@reboot /root/mycommand

/Etc/cron.d, /etc/cron.d/mycronfile dosyasına bir dosya olarak koyuyorsanız, kullanıcıyı koymanız gerekir:

@reboot root /root/mycommand
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.