/etc/cron.d에 저장된 cron 작업은 작동하지만 RHEL4에서 crontab -l을 사용하여 표시할 수 없습니다.

/etc/cron.d에 저장된 cron 작업은 작동하지만 RHEL4에서 crontab -l을 사용하여 표시할 수 없습니다.

나는 cron을 이해한다고 생각했지만 그렇지 않은 것 같습니다.

Red Hat Enterprise Linux v.4에서 cron을 사용하고 있습니다.

cron 작업을 /etc/cron.d에 저장하여 구성합니다. 그들은 모두 루트에 의해 소유됩니다. (.cron 파일의 cron 사양에 뿌리를 두고 있음)

여기에 저장된 경우 인코딩이 올바른 경우 작업이 실행됩니다.

그러나 루트로 로그인하더라도

crontab -l

작업이 실제로 실행 중이더라도 /etc/cron.d에는 나열되지 않습니다.

내가 이해하지 못하는 것은 무엇입니까? 내가 이것에 대해 수행한 모든 웹 검색은 이것이 crontab -l실행할 명령임을 알려줍니다 . 그러나 실행 중인 모든 작업이 나열되지는 않습니다.

고쳐 쓰다: 명확하지 않기 때문에 내 질문은 실제로

특정 사용자에 대해 실행되도록 예약된 모든 크론 작업을 볼 수 있는 명령은 무엇입니까?

이것이 순서라고 말하는 많은 출처를 찾을 수 있지만 crontab -l분명히 그렇지 않습니다.

답변1

에서 언급했듯이수동

crontab -l

현재 사용자의 crontab 나열

/var/spool/cron/root

당신이 루트라면.

crontab -u other -l

다른 일부 사용자의 경우. crontab을 다음과 같이 편집하세요.

crontab -e

형식은

#.---------------- minute (0 - 59)
#|      .------------- hour (0 - 23)
#|      |       .---------- day of month (1 - 31)
#|      |       |       .------- month (1 - 12) OR jan,feb,mar,apr ...
#|      |       |       |       .---- day of week (0 - 6) (Sunday=0 or 7)  OR sun,mon,tue,wed,thu,fri,sat
#|      |       |       |       |
#*      *       *       *       *       the command to be executed

0       */2     *       *       *       /every2h.sh

게다가

find  /etc/cron* -type f

크론 작업을 배포하는 데 사용되므로 권장되지 않습니다. 이러한 파일은 모두 루트로 실행되며 기본적으로 다른 사용자가 쓸 수 없습니다.

답변2

옵션에 따라 선택적으로 사용자 이름을 추가 man crontab할 수 있습니다 -u.

사용자의 예약된 작업을 표시하는 방법은 다음과 같습니다.

crontab -l -u username

그리고 이를 사용하려면 슈퍼유저 권한이 필요합니다. 사용자가 아닌 경우 root다음과 같이 사용하세요.

sudo crontab -l -u username

man crond그리고 및 에 따르면 /etc/crontab작업을 소유한 사용자를 표시하는 명령이 없습니다. 작업 소유자는 다음 구조의 파일에 저장됩니다.

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

따라서 각 파일에서 사용자 이름을 찾거나 bash 스크립트를 작성하여 선택하고 나열해야 한다고 생각합니다.

또한 다음 질문을 확인하세요./etc/cron.d와 /var/spool/cron의 차이점은 무엇입니까?

답변3

cat /etc/cron.d/*crontab -lcrontab을 통해 배포된 프로젝트와 동일한 종류의 목록이 배포된 프로젝트에 대해 표시되는 것 같습니다 .

관련 정보