Supponiamo che io stia creando due file crontab.
/tmp/my-crontab
/root/my-alternate-crontab
Ogni file crontab è programmato per eseguire script diversi.
Quando avvio il cronjob, il primo viene sostituito con quello precedente.
crontab -u smarak /tmp/my-crontab
crontab -u smarak /root/my-alternate-crontab
Quanto sopra è possibile per un singolo utente?
Risposta accettata:
Due modi per aggirare l'avere un singolo crontab.
Metti le tue voci crontab in file in qualche directory, come ~/crontab.d/thisandthat.cron
, quindi salva tutte le modifiche da quelle al crontab di sistema con:
cat ~/crontab.d/*.cron | crontab -
L'estensione .cron
serve per evitare di includere accidentalmente file di backup dagli editor. Tieni presente che poiché tutti i file sono concatenati insieme, tutte le variabili impostate nei file verranno applicate anche ai file successivi.
Potresti anche fare qualcosa di simile a come /etc/cron.hourly
e gli amici sono implementati in Debian. Il /etc/crontab
principale contiene regole come questa:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
Potresti fare in modo che una singola voce crontab esegua più programmi. run-parts dir
di Debian è simile a for f in dir/* ; do "$f" ; done
tranne per il fatto che salta i nomi di file dispari, ancora una volta per evitare di eseguire file di backup creati da editor ecc.