Wie werden Dateien unter /etc/cron.d verwendet?
Von https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
cron liest die Dateien im Verzeichnis /etc/cron.d/. Normalerweise platzieren Systemdämons wie sa-update oder sysstat hier ihren Cronjob. Als Root-Benutzer oder Superuser können Sie folgende Verzeichnisse verwenden, um Cron-Jobs zu konfigurieren. Hier können Sie Ihre Skripte direkt ablegen . Der Befehl run-parts führt Skripte oder Programme in einem Verzeichnis über die Datei / etc / crontab aus :
/etc/cron.d/ Fügen Sie alle Skripte hier ein und rufen Sie sie aus der Datei / etc / crontab auf.
Unter Lubuntu 18.04 scheinen die Dateien unter /etc/cron.d Crontab-Dateien zu sein, keine Shell-Skripte (die im obigen Link erwähnt wurden):
$ cat /etc/cron.d/anacron
# /etc/cron.d/anacron: crontab entries for the anacron package
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
30 7 * * * root [ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi
Meine Datei / etc / crontab bezieht sich niemals auf Dateien unter / etc / cron.d, im Gegensatz zu dem, was der Link sagt:
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Können Sie erklären, wie die Dateien unter /etc/cron.d verwendet werden? Vielen Dank.
/etc/crontab
", wie oben zitiert. Um ganz klar zu sein,/etc/crontab
enthält/etc/cron.d
standardmäßig keine Dateien von . (Als Administrator könnten Sie Befehle einfügen/etc/cron.d
und verwenden/etc/crontab
, aber das wäre durchaus verwirrend.)/var/spool/cron/crontabs/root
oder/etc/crontab
?/var/spool/cron
für benutzerspezifische Jobs. Jeder Systemjob sollte in/etc/crontab
oder/etc/cron.{hourly,daily,weekly,monthly}
IMO gehen.man cron
). Daher werden Dateinamen,/etc/cron.d/
die mit dem Shell-Glob übereinstimmen,*[!A-Za-z0-9_-]*
ignoriert! Daher schaden Dinge wie*.dpkg-dist
odervi
-backups*~
nicht, aber wenn Sie versehentlich erstellen/etc/cron.d/very_important.crontab
, wird dies aufgrund der.
darin enthaltenen ignoriert !