Réponses:
Pour être complet, les travaux dans par exemple /etc/cron.{hourly,daily,weekly,monthly} sont exécutés séquentiellement. Le script run-parts boucle sur tous les fichiers de ce répertoire.
02 4 * * * root run-parts /etc/cron.daily
Vous pouvez donc l'utiliser en combinaison avec une convention de dénomination (similaire à la numérotation dans /etc/init.d/rc*.d
par exemple) pour vous assurer que les travaux s'exécutent séquentiellement.
0 * * * *
vous avez publiée plus tôt), comme d'autres l'ont publié, il n'y a aucune garantie sur l'ordre dans lequel elles s'exécuteront. Elles peuvent s'exécuter en parallèle sur un système multicœur, AFAIK l'ordre dans lequel ils s'exécutent peut même être différent chaque jour. La convention de dénomination que j'ai mentionnée en combinaison avec un run-parts ou l'utilisation d'un script maître qui appelle les scripts de sauvegarde réels est le seul moyen de s'assurer que les scripts sont exécutés dans un ordre particulier.
Les tâches répertoriées dans cron s'exécuteront en parallèle, comme le font habituellement les processus. Il n'y a aucun moyen de savoir qui commencera en premier et aucun moyen de s'assurer que la tâche A est terminée avant le début de la tâche B.
Cron est un démon (service) qui s'exécute en continu; cependant, il lit crontabs une fois par minute.
La séquence exacte dans laquelle les travaux sont exécutés dépendra de la mise en œuvre de la crond de vos systèmes.
Les fichiers lâches que certaines distributions placent dans /etc/cron.d/ sont analysés pour leurs paramètres de minuterie cron, car ces fichiers suivent la syntaxe crontab (5) normale.
L'ordre dans lequel les tâches individuelles sont exécutées dépend évidemment du calendrier que vous leur avez défini.
Ils fonctionneront en parallèle. Vous pouvez utiliser les méthodes suivantes pour exécuter les processus de manière séquentielle.
# 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