루트로서 모든 사용자의 crontab을 어떻게 나열합니까?


46

예상되는 사용자의 crontab에서 찾을 수없는 스크립트가 자동으로 실행되고 있으므로 모든 사용자의 crontab을 검색하고 싶습니다.

본질적 crontab -l으로 모든 사용자 를 위해 실행하고 싶습니다 .

답변:


76

스크립트에 따라 다르지만 crontab을 루트로 쉽게 찾을 수 있습니다.

crontab -l -u <user>

또는 모든 사용자의 파일이있는 스풀에서 crontab을 찾을 수 있습니다

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

각 줄의 시작 부분에 사용자 이름이 인쇄 된 모든 사용자의 crontab을 표시하려면 다음을 수행하십시오.

cd /var/spool/cron/crontabs/ && grep . *

1
/ var / spool / cron / crontabs /를 살펴 보니 정말 좋습니다. 감사합니다.
— 매우 불규칙한

1
crontab -e -u <user>편집에 그것은뿐만 아니라 작동
— vladkras

/var/spool/cron/<user>내 Centos 7 호스트에서.
— 밥 스타 인

5

모든 사용자를 나열하고 모든 사용자에 대해 cron을 인쇄하는 하나의 라이너 :

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

이 솔루션 :

  • 시스템 특정 crontab 경로를 알 필요가 없습니다 (예 : /var/spool/cron/crontabs/vs/var/spool/cron/
  • 더 이상 존재하지 않아서 효과적으로 실행되지 않는 사용자를위한 "고아"크론, 즉 크론을 나열하지 않습니다.

참고 : 이것은 작동 sh하지만 작동 하지 않습니다 bash.
— TIW

0

RHEL / OEL에서 모든 사용자가 작성한 cron 작업을 나열 할 수 있습니다.

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

루트의 크론 작업을 보려면

#cat root

crontab 데이터베이스의 동시 편집을 방지하기 위해 crontab (1) 인터페이스 (명령)를 사용해야합니다.
— Dirk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.