GNU/Linux >> Znalost Linux >  >> Linux

Jak používat @reboot v /etc/cron.d

Z manuálové stránky crontab:

Úlohy v /etc/cron.d/

Úlohy v cron.d jsou systémové úlohy, které se obvykle používají pro více než jednoho uživatele. To je důvod, proč je potřeba jméno uživatele. MAILTO na prvním řádku je nepovinné.

PŘÍKLAD PRO ÚLOHU V /etc/cron.d/job

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

To je celá sekce o crontab v /etc , takže předpokládám, že zahrnutí uživatele, pod jehož jménem úloha běží, je skutečně jediným rozdíl.

Opět ze stejné manuálové stránky:

Jsou podporovány tyto speciální časové specifikace „přezdívky“, které nahrazují 5 počátečních polí času a data a před nimi je znak '@':

@reboot :Spustit jednou po restartu.

Z toho vyplývá, že správný způsob použití @reboot je

   @reboot user_name command

je správné .


Pokud jej spouštíte interaktivně, jak je uvedeno níže, neurčujete uživatele:

crontab -e
@reboot /root/mycommand

Pokud jej vkládáte jako soubor do /etc/cron.d, např. /etc/cron.d/mycronfile, musíte zadat uživatele:

@reboot root /root/mycommand

Linux
  1. Kdy mám použít /dev/shm/ a kdy /tmp/?

  2. /etc/passwd zobrazuje uživatele ve skupině, ale /etc/group nikoli

  3. Jak mohu získat seznam všech naplánovaných úloh cron na mém počítači?

  1. Jak používat cron na Linuxu

  2. Jak používat etckeeper ke správě /etc v OpenSUSE Leap 15

  3. Jak mohu nastavit logrotate, aby se protokoly střídaly každou hodinu?

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Jak Systemd používá skripty /etc/init.d?

  3. Centos – Jak zobrazit všechny záznamy Cron v Centos7?