Я использую cat /var/spool/cron/*
для просмотра всех заданий cron, созданных всеми пользователями cpanel.
Можно ли отредактировать вывод, как редактировать через nano, и нажать «Сохранить»?
Я использую cat /var/spool/cron/*
для просмотра всех заданий cron, созданных всеми пользователями cpanel.
Можно ли отредактировать вывод, как редактировать через nano, и нажать «Сохранить»?
Если вы пытаетесь сделать обнаружение и предотвращение столкновений (как указано в другом вопросе, который вы задали), то простой способ выполнить то, что вы спрашиваете, будет
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.