Předpokládejme, že vytvářím dva soubory crontab.
/tmp/my-crontab
/root/my-alternate-crontab
Každý soubor crontab je naplánován tak, aby spouštěl různé skripty.
Když spustím cronjob, první se nahradí starším.
crontab -u smarak /tmp/my-crontab
crontab -u smarak /root/my-alternate-crontab
Je výše uvedené možné pro jednoho uživatele?
Přijatá odpověď:
Dva způsoby, jak obejít jeden crontab.
Vložte své položky crontab do souborů v nějakém adresáři, například ~/crontab.d/thisandthat.cron
, poté potvrďte všechny změny v systémovém crontab pomocí:
cat ~/crontab.d/*.cron | crontab -
Přípona .cron
je zabránit náhodnému zahrnutí záložních souborů od editorů. Všimněte si, že protože jsou všechny soubory zřetězeny dohromady, všechny proměnné nastavené v souborech budou platit i pro soubory, které přijdou později.
Můžete také udělat něco podobného jako /etc/cron.hourly
a přátelé jsou implementováni v Debianu. Hlavní /etc/crontab
obsahuje pravidla jako toto:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
Můžete zařídit, aby jedna položka crontab spouštěla více programů. run-parts dir
Debianu je podobný for f in dir/* ; do "$f" ; done
kromě toho, že přeskočí liché názvy souborů, opět proto, aby se zabránilo spouštění záložních souborů vytvořených editory atd.