
Ich versuche, einen Cron-Job einzurichten, um einen Btrfs-Subvolume-Snapshot meiner Root-Partition zu erstellen. Der Befehl funktioniert einwandfrei, wenn ich ihn von der Befehlszeile aus ausführe, aber zur geplanten Cron-Zeit passiert nichts. Ich habe versucht, per Piping eine logger
Datei zu erstellen und stdout/stderr umzuleiten, aber es gibt nicht nur keinen Inhalt, die Datei, in die ich mich melde, wird nicht einmal 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 dem Präfix zu versehen /bin/bash
, aber das macht keinen Unterschied. Was übersehe ich?
Antwort1
Ich habe nie herausgefunden, was mit dem Cron-Eintrag nicht stimmte, aber ich habe einfach ein Shell-Skript zum Erstellen des Snapshots geschrieben und dieses stattdessen von Cron aus aufgerufen.
#!/usr/bin/env bash
/sbin/btrfs subvolume snapshot / "/snapshots/$(date +%Y-%m-%d)"
touch "/snapshots/$(date +%Y-%m-%d)"
find /snapshots/* -maxdepth 0 -mtime +6 | xargs -n 1 /sbin/btrfs subvolume delete