1

Я использую cat /var/spool/cron/* для просмотра всех заданий cron, созданных всеми пользователями cpanel.

Можно ли отредактировать вывод, как редактировать через nano, и нажать «Сохранить»?

1 ответ1

0

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

cat /var/spool/cron/* >/tmp/cat.out; $EDITOR /tmp/cat.out

который объединит все crontabs нескольких пользователей в один файл, сохранит и отредактирует его. Но я не вижу большой пользы для этого. Гораздо полезнее было бы

ls /var/spool/cron/* | xargs -i $EDITOR {}

который будет редактировать crontab каждого пользователя в последовательности, сохранить, а затем открыть следующий. Вы должны были бы (как пользователь root) замечать и исправлять конфликты между каждым файлом.

Еще одним уточнением было бы создание аннотированной версии первого подхода для выявления проблем, а затем вернуться назад и отредактировать отдельные пользовательские crontabs отдельно для исправлений.

for I in /var/spool/cron/*; \
do awk '!/^#/&&!/^[^[:blank:]]*=/{printf "%s:\t%s\n", F, $0}' F=$I $I; \
done |sort -k2 | less

перечислит все содержимое всех файлов crontab, за исключением комментариев и назначений переменных среды, с префиксом каждого с конкретным именем файла crontab, вносящим вклад, и отсортированным по содержимому crontab. Надеемся, что это позволит упорядочить все строки с одинаковым расписанием во всех crontabs в порядке сортировки, чтобы вы могли легко выбирать конфликтующие строки и то, какой пользователь их добавил. Полученный результат только для справки, а не для установки в cron.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .