SLES에서 crond를 다시 시작하지 않으면 새 cronjob이 무시되는 이유는 무엇입니까?

SLES에서 crond를 다시 시작하지 않으면 새 cronjob이 무시되는 이유는 무엇입니까?

사용자(SUSE LINUX Enterprise Server 9.4)로 새 cronjob을 추가했습니다.

# su - XXX
$ crontab -e

그리고 이것이 내가 추가한 것입니다:

* * * * * echo `date` >> /home/XXX/a.txt

하지만 a.txt는 생성되지 않습니다. 루트가 크론드를 다시 시작할 때만 생성됩니다.

큐:왜?

업데이트:

machine:~ # chage -l XXX
Minimum:    1
Maximum:    99999
Warning:    7
Inactive:   -1
Last Change:        Apr 11, 2011
Password Expires:   Never
Password Inactive:  Never
Account Expires:    Never
machine:~ # 

따라서 사용자 또는 해당 비밀번호가 만료되지 않습니다.

업데이트: 크론 버전:

cron-3.0.1-920.18

루트 사용자에게 새 crontab을 추가하려고 했습니다. 마찬가지입니다. :D 새 루트 cronjob도 실행되지 않습니다.. :D"crontab -e"가 CROND 등을 다시 로드하지 않는 것 같습니다...

답변1

위의 코드를 시도했는데 Red Hat Fedora 14에서 제대로 작동했습니다.

* * * * * echo `date` >> /home/saml/a.txt

파일 출력:

$ tail -f a.txt 
Fri Oct 4 14:38:01 EDT 2013
Fri Oct 4 14:39:01 EDT 2013
Fri Oct 4 14:40:01 EDT 2013

시도해 볼 사항

  1. crond서비스가 실행 중인지 확인해 주시겠어요 ?

    $ sudo service --status-all |& grep crond
    crond (pid  1673) is running...
    
  2. cron의 스풀 디렉토리 설정을 확인하세요.

    $ rpm -qf $(type -P /usr/sbin/crond)
    cronie-1.4.8-2.fc14.x86_64
    
    $ rpm -ql cronie | grep '/var'
    /var/spool/cron
    

    귀하의 디렉토리가 무엇이든 나열하십시오. 여기에서 존재 여부와 권한을 확인합니다.

    $ sudo ls -ld /var/spool/cron/
    drwx------. 2 root root 4096 Oct  4 14:37 /var/spool/cron/
    
    $ sudo ls -l /var/spool/cron/
    total 4
    -rw------- 1 root root  0 Sep 16 23:47 root
    -rw------- 1 saml root 42 Oct  4 14:37 saml
    
  3. SELinux

    cronjob이 SELinux를 통해 /home/XXX 디렉토리에 쓰기 위해 액세스할 수 있습니까?

    빠른 테스트는 SELinux 적용을 일시적으로 비활성화하여 문제가 해결되는지 확인하는 것입니다.

    $ getenforce
    Disabled
    

    활성화된 경우 비활성화합니다.

    $ sudo setenforce 0
    

답변2

strace crontab -e

해결했습니다... 어떻게 해야할지 모르겠습니다.. 하지만 지금은 작동합니다.. 하지만 제가 하고 싶었던 것은 crontab의 낮은 수준 "작업"을 확인하는 것뿐입니다..

관련 정보