Bu biraz kafa karıştırıcı bir konu olabilir, çünkü farklı cron uygulamaları var. Ayrıca, bu özelliği bozan birkaç hata vardı ve özellikle yeniden başlatma gibi bir kapatma / önyükleme yaparsanız basitçe işe yaramayacağı bazı kullanım durumları da var.
Hatalar
veri noktası # 1
Debian'da böylesi bir hata burada ele alınmıştır, başlıklı: cron: @ reboot jobs çalıştırılmaz . Bu, doğrudan doğrulayamadığım Ubuntu'ya da girmiş görünüyor.
veri noktası # 2
Ubuntu'daki hatanın kanıtı burada bu SO Soru ve Cevap bölümünde doğrulanmış gibi görünüyor: @reboot cronjob yürütülmüyor .
alıntı
comment # 1: .... 3) Crond versiyonunuz @reboot'u desteklemeyebilir. vix'in crond'unu kullanıyor musunuz? ... crontab -l -u user sonuçlarını göster
comment # 2: ... cron'un @reboot dosyasının belirli bir sürümüne güvenmek yerine init betiği olarak ayarlamak iyi bir fikir olabilir.
comment # 3: ... @MarkRoberts yeniden başlatmayı kaldırdı ve 1 * * * *, * / 1 * * * * olarak değiştirildi, sorun çözüldü! Mark'ları nereye gönderirim? Teşekkür ederim!
Soru-Cevap’da kabul edilen cevap şu yorumu da yaptı:
Görünüşe göre Lubuntu @Reboot Cron sözdizimini desteklemiyor.
Ek kanıt
veri noktası # 3
Ek kanıt olarak, bir başkasının aynı şeyi denediğini ve işe yaramadığını hayal kırıklığına uğrattığını gösteren bir konu vardı. Başlıklı: Konu: Cron - @reboot işleri çalışmıyor .
alıntı
Re: Cron - @reboot işleri çalışmıyor
Alıntı Başlangıçta tarafından gönderildi ceallred Mesaj gösterimi Bu beni öldürüyor ... sarıcı betiği denedim. El ile çalıştırmak günlük dosyasını oluşturur ... yeniden başlatılıyor ve iş çalışmıyor veya günlük dosyası oluşturmuyor.
Syslog, CRON'un işi yürüttüğünü gösteriyor ... ama yine de çıktı yok ve işlem çalışmıyor. 15 Temmuz 20:07:45 RavenWing cron [1026]: (CRON) INFO (Çalışan @reboot işleri) Jul 15 20:07:45 RavenWing CRON [1053]: (durdu) CMD (/ home / ceallred / Scripts / run_spideroak). sh> /home/ceallred/Scripts/SpiderOak.log 2> & 1 &)
Bu cron @ reboot komutunu sevmiyor gibi görünüyor .... Başka bir fikrin var mı?
Tamam ... Kısmen çözüldü. Bunu çözülmüş olarak işaretleyeceğim ve yeni sayı ile yeni bir konu başlatacağım .....
Sanırım cevabı, CRON betiğini çalıştırmaya çalışırken (/ home / username / scripts içinde) şifreli bir giriş dizini kurulmadı. / Usr / script'e taşındı ve iş beklendiği gibi çalışıyor.
Yani şimdi bir spideroak sorunu gibi görünüyor. İşlem başlar, ancak önyükleme işlemi bittiğinde, işlem bitmiştir. Nedense bir çökme tahmin ediyorum .... Bu konuda sorulacak yeni konu.
Tüm yardımların için teşekkürler!
Yukarıdaki kullanıcı sorununu anladıktan sonra @reboot
, bir kullanıcının crontab girişinde çalışabildi .
Ubuntu'da hangi cron sürümünün kullanıldığından tam olarak emin değilim, ancak bu, kullanıcının da kullanabileceğini @reboot
veya hatanın cron'un sonraki sürümlerinde bir noktada çözüldüğünü gösteriyor gibi görünüyor.
veri noktası # 4
Aşağıdakileri CentOS 6'da test ettim ve işe yaradı.
Örnek
$ crontab -l
@reboot echo "hi" > /home/sam/reboot.txt 2>&1
Daha sonra sistemi yeniden başlattım.
$ sudo reboot
Yeniden başlattıktan sonra.
$ cat reboot.txt
hi
Uzaklaş
- Bu özellik hem sistem hem de kullanıcı crontab girişleri için desteklenmiş görünmektedir.
- Özel dağıtımınızda ve / veya cron paketinin sürümünde desteklendiğinden / çalıştığından emin olmalısınız.
Asıl mekanizmanın nasıl çalıştığı hakkında daha fazla bilgi @reboot
için doğuştan gelenleri tartışan bu blog yazısı ile karşılaştım. Başlığı : @reboot - basit cron sihrini açıklamak .
Hata ayıklama crond
crond
RHEL / CentOS / Fedora tabanlı dağıtımlarda bu yapılandırma dosyasına aşağıdakileri ekleyerek ayrıntılarını artırabilirsiniz .
$ more crond
# Settings for the CRON daemon.
# CRONDARGS= : any extra command-line startup arguments for crond
CRONDARGS="-L 2"
Geçerli seviyeler 0, 1 veya 2'dir. Bu dosyayı varsayılan ayar seviyesine geri döndürmek "-L 2"
için durumun hata ayıklamasını bitirdiğinizde basitçe kaldırın .