Warum werden neue Cronjobs ignoriert, sofern Crond in SLES nicht neu gestartet wird?

Warum werden neue Cronjobs ignoriert, sofern Crond in SLES nicht neu gestartet wird?

Ich habe einen neuen Cronjob mit einem Benutzer (SUSE LINUX Enterprise Server 9.4) hinzugefügt:

# su - XXX
$ crontab -e

und das habe ich hinzugefügt:

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

aber die a.txt wird nicht erstellt … sie wird NUR erstellt, wenn Root den Crond neu startet …

Q:Warum?

AKTUALISIEREN:

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:~ # 

damit der Benutzer bzw. sein Passwort nicht abläuft.

UPDATE: Cron-Version:

cron-3.0.1-920.18

und ich habe versucht, dem Root-Benutzer eine neue Crontab hinzuzufügen. Es ist dasselbe :D Die neuen Root-Cronjobs laufen auch nicht. :Des sieht so aus, als ob „crontab -e“ CROND oder so etwas nicht neu lädt …

Antwort1

Ich habe den obigen Code ausprobiert und er hat unter Red Hat Fedora 14 einwandfrei funktioniert.

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

Ausgabe der Datei:

$ 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

Dinge, die Sie ausprobieren sollten

  1. Können Sie bitte bestätigen, dass der crondDienst ausgeführt wird:

    $ sudo service --status-all |& grep crond
    crond (pid  1673) is running...
    
  2. Bestätigen Sie die Einrichtung des Spool-Verzeichnisses von Cron.

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

    Listen Sie Ihr Verzeichnis auf, egal in welchem ​​Verzeichnis es sich befindet. Wir prüfen hier die Existenz und Berechtigungen:

    $ 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

    Haben Cronjobs über SELinux Zugriff, um in Ihr Verzeichnis /home/XXX zu schreiben?

    Ein schneller Test wäre, die SELinux-Durchsetzung vorübergehend zu deaktivieren, um zu sehen, ob das Ihr Problem löst.

    $ getenforce
    Disabled
    

    Wenn es aktiviert ist, deaktivieren Sie es:

    $ sudo setenforce 0
    

Antwort2

strace crontab -e

gelöst... weiß nicht wie... aber jetzt funktioniert es... aber ich wollte nur die Lowlevel-„Operationen“ der Crontabs überprüfen...

verwandte Informationen