![Welches ist das beste Verzeichnis zum Platzieren Ihrer Cron-Jobs?](https://rvso.com/image/782603/Welches%20ist%20das%20beste%20Verzeichnis%20zum%20Platzieren%20Ihrer%20Cron-Jobs%3F.png)
Wir haben eine Maschine, die Cron-Jobs ausführt. Wir möchten Cron-Job-Dateien (über scp) hochladen. Hier ist ein Beispiel für eine Cron-Job-Datei (test.cron):
* * * * * echo "test" > /tmp/test_cron
Dies wird ausgeführt, wenn Sie es mit „ crontab -e
und dann speichern“ tun, und endet dann in „ /var/spool/cron/crontabs/$USER
, wir können dies nicht mehr verwenden (Unternehmensrichtlinie).
Wenn ich diese Datei test.cron
dort platziere /etc/cron.d
, wird sie nicht ausgeführt. Muss ich die Dateisyntax ändern oder diese Datei woanders platzieren, damit sie vom Cron-Daemon erkannt und ausgeführt wird?
Aktualisieren:
Wenn ich den Inhalt einfüge, test.cron
wird crontab -e
er ausgeführt. Meine Crontab-Syntax scheint gültig zu sein.
Meine Frage ist: Wo muss ich test.cron
die Datei mit dem obigen Inhalt ablegen/ablegen/platzieren, damit sie vom Cron-Daemon abgerufen wird?
Mehr Kontext: Ich weiß nicht im Voraus, in welchen Abständen der Cron-Dateibefehl ausgeführt werden muss. Keiner dieser Orte ist wahrscheinlich ein guter Ort: „cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/“. Ich könnte mich irren, deshalb stelle ich diese Frage.
Antwort1
/etc/cron.d
ist eine Funktion von Crond, die möglicherweise explizit aktiviert werden muss. Bei Debian-basierten Distributionen ist sie standardmäßig aktiviert. Dies /etc/cron.d
ist also der richtige Ort, wenn Sie ein Debian-Derivat verwenden.
Die Cron-Manpage unter Debian sagt:
Dateien in [/etc/crond.d] müssen der gleichen Namenskonvention entsprechen, die auch von run-parts(8) verwendet wird: Sie dürfen nur aus Groß- und Kleinbuchstaben, Ziffern, Unterstrichen und Bindestrichen bestehen. Das bedeutet, dass siedarf keine Punkte enthalten.
Sie müssen Ihr test.cron
Konto also zB. umbenennen, test_cron
und dann sollte es funktionieren.