Risposte:
Per completezza, i lavori in es. /Etc/cron.{hourly,daily,weekly,monthly} vengono eseguiti in sequenza. Lo script run-parts scorre su tutti i file in questa directory.
02 4 * * * root run-parts /etc/cron.daily
Quindi puoi usarlo in combinazione con una convenzione di denominazione (simile alla numerazione /etc/init.d/rc*.d
per esempio) per assicurarti che i lavori vengano eseguiti in sequenza.
0 * * * *
hai pubblicato in precedenza), allora come altre hanno pubblicato, non esiste alcuna garanzia sull'ordine in cui verranno eseguite. Possono funzionare in parallelo su un sistema multi-core, AFAIK l'ordine in cui vengono eseguiti può anche essere diverso ogni giorno. La convenzione di denominazione che ho menzionato in combinazione con una parte di esecuzione o l'uso di uno script principale che chiama gli script di backup effettivi è l'unico modo per garantire che gli script vengano eseguiti in un ordine particolare.
Le attività elencate in cron verranno eseguite in parallelo, proprio come fanno normalmente i processi. Non esiste alcun modo per essere sicuri di quale verrà avviato per primo e nessun modo in cron per assicurarsi che l'attività A sia stata completata prima dell'avvio dell'attività B.
Cron è un demone (servizio) che gira continuamente; tuttavia, legge i crontab una volta al minuto.
L'esatta sequenza in cui vengono eseguiti i lavori dipenderà dall'implementazione del limite dei sistemi.
I file sciolti che alcune distribuzioni inseriscono in /etc/cron.d/ vengono scansionati per le loro impostazioni del cron timer, poiché questi file seguono la normale sintassi crontab (5).
L'ordine in cui vengono eseguiti i singoli lavori dipende ovviamente dalla pianificazione impostata per essi.
Correranno in parallelo. È possibile utilizzare i seguenti metodi per eseguire i processi in sequenza.
# Use a semicolon to run command2 after command1 has completed
02 4 * * * /path/to/command1 ; /path/to/command2
# Use two ampersands to run command2 after command1 has completed successfully.
02 4 * * * /path/to/command1 && /path/to/command2
# Use two vertical rules to run command2 after command1 has completed unsuccessfully.
02 4 * * * /path/to/command1 || /path/to/command2