это нормально, чтобы запустить работу cron с тем же временем?

мы хотим удалить все файлы следующей работы с тем же временем в полночь

0 0 * * * root [[ -d /var/log/ambari-metrics-collector ]] && find /var/log/ambari-metrics-collector -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete 0 0 * * * root [[ -d /var/log/kO ]] && find /var/log/Ko -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete 0 0 * * * root [[ -d /var/log/POE ]] && find /var/log/POE -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete 0 0 * * * root [[ -d /var/log/REW ]] && find /var/log/REW -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete 

нормально ли запускать все тогда в одно и то же время?

Доза Cron работа будет запускать их шаг за шагом? или оба они все в одной теме?

3 Solutions collect form web for “это нормально, чтобы запустить работу cron с тем же временем?”

Да, вполне допустимо, чтобы cron планировал несколько заданий одновременно.

Однако компьютеры ничего не делают одновременно, и они будут запускаться в порядке, указанном в таблице cron . Однако они не будут выполняться последовательно; они будут запущены одна за другой в течение нескольких миллисекунд полуночи – одновременно для всех практических целей.

Крон начинал все задания одновременно, и они выполнялись одновременно.

Для подобных заданий очистки лучше написать короткий сценарий оболочки для последовательного запуска процедуры. Это предотвратит медленное выполнение нескольких операций find (а также сделает доступ к диску в остальной части системы немного медленным). Это также упростило бы изменение / обновление процедуры очистки (например, добавление новых каталогов или изменение критериев find и т. Д.) Без необходимости изменения его спецификации cron (или добавления дополнительных заданий очистки).

Например,

 #!/bin/bash for dir in /var/log/{ambari-metrics-collector,k0,POE,REW}; do [ ! -d "$dir" ] && continue find "$dir" -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete done 

Или просто

 #!/bin/bash find /var/log/{ambari-metrics-collector,k0,POE,REW} -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete 

(что также приведет к ошибкам, если один или несколько из этих каталогов не существует, что может быть полезно или не полезно знать)

Затем вы запланировали бы запуск этого сценария с использованием cron любым подходящим для вашей системы способом.


Слегка любитель:

 #!/bin/bash # directories to clean up dirs=( /var/log/ambari-metrics-collector /var/log/k0 /var/log/POE /var/log/REW ) for dir in "${dirs[@]}"; do if [ ! -d "$dir" ]; then printf 'Dir "%s" does not exist, check this!\n' "$dir" >&2 else printf 'Removing files from "%s":\n' "$dir" find "$dir" -type f -mtime +10 -regex '.*\.log.*[0-9]$' -print -delete fi done 

Или полностью logrotate этот подход и используйте logrotate или подобное программное обеспечение, а вместо этого правильно выполняйте обслуживание вашего файла журнала.

Cron запустит все 4 процесса параллельно в полночь.

  • Как сделать так, чтобы клиент Transmission torrent запускался и запускался автоматически при запуске ПК?
  • uptime Script help
  • После сбоя tar скрипт завершает работу без обработки ошибки.
  • Crontab удаляет мои работы или возвращается к предыдущему состоянию?
  • Как проверить параметр zsh-скрипта в шаблоне или нет?
  • Shell_exec динамически созданного скрипта с else
  • Необходимо извлечь часть строки с помощью оболочки
  • использование sed для замены строки в файлах, которые находятся в разных папках
  • Нужен awk / sed для замены значений внутри $ {}
  • Зондирование SSH-соединения и обнаружение ssh-соединения или выхода из системы
  • Команда оболочки выполняется по-разному в терминале и скрипте
  • Interesting Posts

    Как определить точное имя пакета `.so`, чтобы его можно было установить через` zypper`?

    GRUB устанавливается с каждой ОС. Какой из них действительно используется?

    Создание команды «host -v hostname» для CentOS 7

    Mint изменяет маршрут по умолчанию, когда eth0 возвращается и ломает существующие соединения tcp

    настройка для моего беспроводного соединения

    Как bash на самом деле изменяет stdin / stdout / stderr при использовании перенаправления / трубопровода

    Как удалить все файлы FIFO с помощью команды оболочки

    Мои окна не отображаются должным образом

    Как я могу скомпилировать программу C, которую я редактировал в Vi или Vim?

    Идентификатор группы гоночных процессов, как я могу убить группу?

    Почему «find -delete» рекурсивно удаляет все файлы в каталоге

    Невозможно перенаправить TCP-сокет в сценарий bash

    Команда для извлечения списка символов в заданном классе символов в текущей локали

    Как получить доступ на уровне пользователя к нажатию клавиш-модификаторов в консольном приложении?

    Вставить одноколоночные файлы с одинаковым именем, используя имя каталога в качестве имени столбца

    Linux и Unix - лучшая ОС в мире.