루트로서 모든 사용자의 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.