
Ich habe gerade einen neuen Server online gebracht und ihn in Bezug auf Cron genauso konfiguriert wie den alten, aber die Jobs laufen nicht. Also habe ich die Konfiguration sorgfältig durchgesehen und überprüft, ob der aktuelle Cron genauso funktioniert wie der alte. Ja, das scheint so!
Da es sich um ein System vom Typ „systemd“ handelt, habe ich den entsprechenden Befehl ausgeführt, um zu sehen, was seiner Meinung nach geplant ist. Folgendes habe ich erhalten:
# systemctl list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sun 2020-08-16 15:15:55 PDT 5min left Sun 2020-08-16 14:15:54 PDT 54min ago dnf-makecache.timer dnf-makecache.service
Sun 2020-08-16 20:57:26 PDT 5h 47min left Sat 2020-08-15 20:57:26 PDT 18h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Mon 2020-08-17 00:00:00 PDT 8h left Mon 2020-08-10 00:00:00 PDT 6 days ago fstrim.timer fstrim.service
Mon 2020-08-17 00:00:00 PDT 8h left Sun 2020-08-16 00:00:01 PDT 15h ago mlocate-updatedb.timer mlocate-updatedb.service
Mon 2020-08-17 00:00:00 PDT 8h left Sun 2020-08-16 00:00:01 PDT 15h ago unbound-anchor.timer unbound-anchor.service
5 timers listed.
Das ist ja alles schön und gut, aber meine spezifischen Ergänzungen werden nicht angezeigt – keine davon. Also habe ich getan, was ich für richtig hielt, ich habe es ausgeführt systemctl reload crond.service
und die gleiche Ausgabe erhalten. Also habe ich es neu gestartet und immer noch die gleiche Ausgabe erhalten!
Meine Ergänzungen sind:
- cron.d: local - eine Reihe lokaler Dinge, die nicht im üblichen Zeitplan stehen
- cron.daily: Backup.daily logrotate mailbox_check
- cron.monthly; backup.monthly, und;
- cron.wöchentlich; Backup.wöchentlich
Ich bin mir ziemlich sicher, dass ich in der Konfiguration etwas falsch gemacht habe, oder dass es vielleicht ein anderes Problem gibt, das mich glauben lässt, dass sie nicht ausgeführt wurden, obwohl sie ausgeführt wurden. Aber ich sehe die anderen Einträge in der systemctl list-timer
s-Ausgabe nicht, die von installierten Paketen dort abgelegt wurden, bevor ich überhaupt angefangen habe, mit meinen eigenen Ergänzungen herumzuspielen.
Vielleicht liegt das Problem darin, dass ich mit der Ausgabe des Listentimers nicht vertraut bin? Sollen diese anderen Jobs nicht auch angezeigt werden?
Antwort1
Wie bei vielen Dingen in Linux gibt es mehrere Möglichkeiten, Dinge zu tun. Cron und der Systemd-Timer sind verschiedene Möglichkeiten, cron-ähnliche Dinge zu tun, ähnlich wie Upstart, init.d und systemd drei verschiedene Init-Systeme sind.
Viele Cron-Jobs gehören einembestimmter Benutzer, sodass Sie dies entweder crontab -l
als bestimmter Benutzer oder crontab -u username -l
als Root tun können, um die Cron-Jobs eines anderen Benutzers zu überprüfen.
Sie haben auch tägliche, wöchentliche, monatliche und so weiter
Obwohl Sie sich in jede einzelne einarbeiten können, handelt es sich um eine Reihe von Dateien.
würde dir also ls -la /etc/cron.*
einen Überblick geben
geek@heckate_router:~$ ls -la /etc/cron.*
/etc/cron.d:
total 28
drwxr-xr-x 2 root root 4096 Jan 22 2020 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r-- 1 root root 589 Jun 26 2018 mdadm
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
-rw-r--r-- 1 root root 190 Jul 25 2018 popularity-contest
/etc/cron.daily:
total 76
drwxr-xr-x 2 root root 4096 Aug 12 06:54 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rwxr-xr-x 1 root root 376 Nov 20 2017 apport
.....
/etc/cron.hourly:
total 20
drwxr-xr-x 2 root root 4096 Jul 25 2018 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
/etc/cron.monthly:
total 20
drwxr-xr-x 2 root root 4096 Nov 18 2018 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
/etc/cron.weekly:
total 28
drwxr-xr-x 2 root root 4096 May 30 2019 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rwxr-xr-x 1 root root 723 Apr 7 2018 man-db
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
-rwxr-xr-x 1 root root 211 Jun 27 2018 update-notifier-common
Konvertieren Sie diese inSystemd-Timer-Skripteliegt außerhalb des Rahmens dieser Antwort, aber sie sindnichtdasselbe wie ein klassischer Cronjob.