Skip to main content

Вывод cron всех пользователей

Вывод задач в cron для текущего пользователя осуществляется просто:

crontab -l

Список задач другого пользователя (например, oracle) можно посмотреть так:

crontab -u oracle -l

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

for user in $(cut -d':' -f1 /etc/passwd); do crontab -u $user -l; done

Если это требуется не единожды, а постоянно, можно написать небольшой скрипт, для этого в файле ~/.bashrc прописываем:

# Цвета вывода
red='\e[0;31m'
RED='\e[1;31m'
green='\e[0;32m'
GREEN='\e[1;32m'
NC='\e[0m'
 
# Определение функции вывода задач cron всех пользователей
function allcrontab() {
     for user in $(cut -d':' -f1 /etc/passwd); do
          usercrontab=$(crontab -l -u ${user} 2>/dev/null)
          if [ -n "${usercrontab}" ]; then
               echo -e "${RED}====== Start crontab for user ${NC}${GREEN}${user}${NC} ${RED}======${NC}"
               crontab -l -u ${user} | sed '/ *#/d; /^ *$/d'
               echo -e "${RED}====== End crontab for user ${NC}${GREEN}${user}${NC} ${RED}========${NC}\n"
          fi
     done
}

Выполнив source ~/.bashrc или просто перелогинившись в консоли, можем выполнить команду allcrontab и получить красивый вывод списка задач cron всех пользователей в системе.

Добавить комментарий

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