btrfs ne courra pas de cron

0

J'essaie de configurer un travail cron pour créer un instantané de sous-volume btrfs de ma partition racine. La commande fonctionne parfaitement si je l'exécute à partir de la ligne de commande, mais rien ne se produit à l'heure prévue. J'ai essayé de loggerrediriger stdout / stderr vers un fichier et non seulement il n'y a pas de contenu, le fichier auquel je me connecte n'est même pas créé.

La commande cron que j'ai est la suivante:

0 0 * * * /sbin/btrfs subvolume snapshot / "/snapshots/$(date +%Y-%m-%d)"

J'ai essayé de le préfixer avec /bin/bash, mais cela ne fait aucune différence. Qu'est-ce que je rate?

Mikkel
la source
Êtes-vous sûr que cron est en cours d'exécution? Vérifiez la sortie de ls -l | grep cronquelque chose comme / usr / bin / crond. Si votre seul processus indiquant est grep cronou peut-être grep --color=auto cronalors il ne l'est pas. Vous devrez démarrer le cronserveur via la méthode utilisée par votre disto pour gérer les serveurs. service cron startfonctionne sur un certain nombre de distributions populaires.
0xDAFACADE
Oui, cron est en cours d'exécution, bien que ls -l | grep cronla commande ne me le dise pas. pgrep crona retourné un PID. J'ai également ajouté un travail * * * * * touch /root/foo, qui a fonctionné comme prévu.
Mikkel

Réponses:

0

Je n'ai jamais compris ce qui n'allait pas avec l'entrée cron, mais je viens d'écrire un script shell pour créer l'instantané et de l'invoquer à partir de cron.

#!/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
Mikkel
la source