как получить список записей crontab для всех пользователей, у которых действительно есть crontab

for USER in `cut -d ":" -f1 /dev/null 2>&1; if [ ! ${?} -ne 0 ]; then echo -en "--- crontab for ${USER} ---\n$(crontab -u ${USER} -l)\n"; fi; done


Данная команда используется для получения списка записей crontab для всех пользователей, у которых есть действительный crontab. В начале команды используется цикл for, который перебирает пользователей из файла /etc/passwd, возвращая только их имена. Далее команда crontab -u ${user} -l 1>/dev/null 2>&1 используется для получения crontab для каждого пользователя.

Если команда crontab выполнилась успешно (возвращает код 0), то выводится имя пользователя ${user}, а затем содержимое его crontab. Если crontab отсутствует или недоступен для пользователя, то он не будет выводиться.

Альтернативный подход — использование команды crontab -l -u ${user}. Однако данная команда будет выводить сообщение об ошибке, если у пользователя отсутствует crontab, что может усложнить обработку вывода.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *