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
Können Sie bitte bestätigen, dass der
crond
Dienst ausgeführt wird:$ sudo service --status-all |& grep crond crond (pid 1673) is running...
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
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...