Ich versuche, einen Cron-Job einzurichten, um einen Btrfs-Subvolume-Snapshot meiner Root-Partition zu erstellen. Der Befehl funktioniert einwandfrei, wenn ich ihn über die Befehlszeile ausführe, aber zur geplanten Cron-Zeit passiert nichts. Ich habe versucht, zu pfeifen logger
und stdout / stderr in eine Datei umleiten, und es gibt nicht nur keinen Inhalt, die Datei, in die ich mich anmelde, wird auch nicht erstellt.
Der Cron-Befehl, den ich habe, lautet wie folgt:
0 0 * * * /sbin/btrfs subvolume snapshot / "/snapshots/$(date +%Y-%m-%d)"
Ich habe versucht, es mit einem Präfix zu versehen /bin/bash
, aber das macht keinen Unterschied. Was vermisse ich?
ls -l | grep cron
für etwas wie / usr / bin / crond. Wenn Ihr einziger Prozess angezeigt wird, istgrep cron
oder vielleichtgrep --color=auto cron
dann ist es nicht. Sie müssen das startencron
Server mit welcher Methode auch immer Ihre disto die Server verwaltet.service cron start
arbeitet an einer Reihe von beliebten Distributionen.ls -l | grep cron
ist nicht der Befehl, mir das zu sagen.pgrep cron
hat eine PID zurückgegeben. Ich habe auch einen Job hinzugefügt* * * * * touch /root/foo
, was wie erwartet funktioniert hat.Antworten:
Ich habe nie herausgefunden, was mit dem Cron-Eintrag nicht stimmte, aber ich habe nur ein Shell-Skript geschrieben, um den Snapshot zu erstellen, und das stattdessen von Cron aus aufgerufen.
quelle