Como root, como posso listar os crontabs para todos os usuários?

34

Eu tenho um script sendo executado automaticamente que não consigo encontrar no crontab para os usuários esperados, então gostaria de pesquisar os crontabs de todos os usuários para ele.

Essencialmente, quero executar um crontab -l para todos os usuários.

    
por Highly Irregular 13.03.2014 / 22:32

3 respostas

56

Depende do script, mas você pode encontrar facilmente o seu crontab como root com

crontab -l -u <user>

Ou você pode encontrar o crontab a partir do spool, onde está localizado o arquivo para todos os usuários

cat /var/spool/cron/crontabs/<user>

Para exibir os crontabs de todos os usuários com o nome de usuário impresso no início de cada linha:

cd /var/spool/cron/crontabs/ && grep . *
    
por 13.03.2014 / 22:40
1

Um forro que lista todos os usuários e imprime o cron para cada usuário:

for user in $(getent passwd | cut -f1 -d: ); do echo $user; crontab -u $user -l; done

Esta solução:

  • Não requer conhecimento de um caminho de crontab específico do sistema (por exemplo, /var/spool/cron/crontabs/ vs /var/spool/cron/
  • Não lista crons "órfãos", ou seja, crons para usuários que não existem mais (e, portanto, não são executados com eficácia)
por 15.07.2018 / 12:45
0

No RHEL / OEL você pode listar as tarefas agendadas criadas por todos os usuários:

#cd /var/spool/cron/
#ls -1
root
oracle
user1

Para ver os cronjobs do root:

#cat root
    
por 12.07.2017 / 08:41

Tags