Ubuntu crontab'daki “@reboot” u destekliyor mu?


23

Ubuntu @rebootcrontab'da destekliyor mu ?

Desteklendiğini öne süren belgeleri buluyorum ancak web sohbeti bunu desteklemediğini iddia ediyor.

@rebootBölümü işe alamıyorum . "Gece yarısından sonra" bölümü gayet iyi çalışıyor.

İşte benim test örneği /etc/crontab:

$ cat /etc/crontab
# /etc/crontab: system-wide crontab

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
##

# in the beginning - 
@reboot /var/kiosk/btest.sh

# after midnight
30 0     * * *   root    /etc/cron.daily/kiosk/kioskReboot.sh

# end of crontab

kabuk betiği btest.sh

#!/bin/bash
date > /var/kiosk/STARTFLAG.txt
echo we booted >> /var/kiosk/STARTFLAG.txt
date
echo we booted

izinler

$ ls -l btest.sh
-rwxrwxrwx 1 root root 147 Aug 21 15:19 btest.sh
$ ls -ld
drwxrwxrwx 14 laptopsanytime root 4096 Aug 21 16:30 .


Btest.sh, autostart betiğini yapmayı düşündünüz mü? askubuntu.com/a/9388/2973
wojox

Unix & Linux ' [crontab's @reboot sadece root için çalışıyor mu?] Hakkında büyük bir cevap var. [1] [1]: unix.stackexchange.com/q/109804/17362
Édouard Lopez

Benim kişisel crontab @ @reboot sh /home/me/run-stuff.sh
reboot kuralım

Kimsenin almaması durumunda: crontab'ları karıştırıyor: / etc / crontab bir kullanıcı crontab ve bir kullanıcı gerektiriyor. crontab -e kişisel crontab'dır ve düzenleme anında aktif olan kullanıcıyı kullanır, böylece bir kullanıcı adı gerektirmez. Her ikisi de @reboot'u kabul eder.
Rinzwind

Yanıtlar:


21

@reboot Ubuntu'da desteklenmektedir. Girişinizin nedeni

@reboot /var/kiosk/btest.sh

/ etc / crontab 'da çalışmaz çünkü kullanıcı alanı eksiktir. Doğru sözdizimi

@reboot root /var/kiosk/btest.sh

2
En azından 14.04'te durum böyle değil ve yanlış. Bir "man 5 crontab" da bundan bahsetmiyor. Belki de sürümüne bağlıdır, ama ben şüpheliyim.
vorburger

1
@Vorburger demek @rebootdesteklenmiyorsa, o zaman işte burada wiki için bir bağlantı var. BTW, benim man 5 crontab@reboot
14.04 tarihinde

4
Benim Ubuntu 14.04, bazı kullanıcı var someuserotomatik (yeniden) açılışta bir komutu çalıştırmak, ben eklemek zorunda o kullanıcının crontab bir girdi olmadan kullanıcı adı belirterek:@reboot /var/kiosk/btest.sh
Abdull

1
Tartışmaya ekleyerek ubuntu 16.4.05 kullanıyorum. Bir kullanıcı crontab kullanılırken, @reboot komutu farklı olarak çalışacak kullanıcıyı belirtmeden çalışır ve kullanıcı belirtildiğinde yapmaz.
Keith Reynolds

1

Ubuntu 16.04.5 LTS: Kök olarak:

crontab -e

Aşağıdaki satırları ekleyin:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
@reboot /path_to_script.sh 2>&1 >> /path_to_log.log

2> & 1 >> stdout komutunu /path_to_log.log dosyasına gönderir, böylece sorunu giderebilirsiniz


0

18.04'te tanımlanan iş olarak çalışmaktadır cron.d.
Bunu iş dosyasına girdim:

PATH = / usr / yerel / sbin: / usr / yerel / bin: / usr / sbin: / usr / bin: / sbin: / bin
@reboot kök /path/to/script.sh


1
kök eklemek benim için işe yaramadı. Root olarak crontab -e kullandınız mı?
MKZ

Dosyayı /etc/cron.d dizinindeki start_at_reboot dosyasına kaydettim,
TheR
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.