Ответы:
Для полноты задания, например, в /etc/cron. enjhourly,daily,weekly,monthly} выполняются последовательно. Скрипт run-parts перебирает все файлы в этом каталоге.
02 4 * * * root run-parts /etc/cron.daily
Таким образом, вы можете использовать это в сочетании с соглашением об именах (аналогично нумерации в /etc/init.d/rc*.d
), чтобы убедиться, что задания выполняются последовательно.
0 * * * *
вы опубликовали ранее), то, поскольку другие опубликовали, нет никакой гарантии относительно порядка, в котором они будут работать. Они могут работать параллельно в многоядерной системе, AFAIK порядок, в котором они работают, может даже отличаться каждый день. Соглашение об именах, которое я упомянул в сочетании с частями выполнения или использованием основного сценария, который вызывает фактические сценарии резервного копирования, является единственным способом обеспечить выполнение сценариев в определенном порядке.
Задачи, перечисленные в cron, будут выполняться параллельно, как это обычно делают процессы. Нет никакого способа быть уверенным в том, что начнется первым, и в cron нет способа убедиться, что задание A завершено до запуска задания B.
Cron - это демон (сервис), который работает непрерывно; однако, он читает crontabs раз в минуту.
Точная последовательность выполнения заданий будет зависеть от реализации crond вашей системы.
Свободные файлы, которые некоторые дистрибутивы помещают в /etc/cron.d/, сканируются на предмет настроек таймера cron, поскольку эти файлы следуют обычному синтаксису crontab (5).
Очевидно, в каком порядке выполняются отдельные задания, зависит от графика, который вы для них установили.
Они будут работать параллельно. Вы можете использовать следующие методы для последовательного запуска процессов.
# 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