web-dev-qa-db-fra.com

Ubuntu prend-il en charge "@reboot" dans crontab?

Ubuntu prend-il en charge @reboot dans crontab?

Je trouve la documentation suggérant qu'il est pris en charge, mais les discussions sur le Web affirment qu'il n'en est rien.

Je ne parviens pas à faire fonctionner la section @reboot. La section "après minuit" fonctionne bien.

Voici l'exemple de test de mon /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

Script shell btest.sh

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

autorisations

$ 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 .
23
user186171

@reboot est pris en charge dans Ubuntu. La raison pour laquelle votre entrée

@reboot /var/kiosk/btest.sh

ne fonctionne pas dans/etc/crontab parce qu’il manque le champ utilisateur. La syntaxe correcte serait

@reboot root /var/kiosk/btest.sh
21
Teemu Toivola

Ubuntu 16.04.5 LTS: En tant que root:

crontab -e

Ajoutez les lignes suivantes:

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 >> générera stdout vers /path_to_log.log afin que vous puissiez résoudre ce problème

0
MKZ

Cela fonctionne sur 18.04 en tant que travail défini dans cron.d.
J'ai saisi ceci dans le fichier de travail:

PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
@ reboot root /path/to/script.sh

0
TheR