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

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

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

# su - XXX
$ crontab -e

내가 추가한 내용은 다음과 같습니다.

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

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

묻다:왜?

고쳐 쓰다:

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에서 낮은 수준의 "작업"을 확인하는 것뿐입니다..

관련 정보