Où est stocké l'utilisateur crontab?

216

Depuis la mise à jour de la crontab de mon utilisateur a été effacée. Ce n’est pas la première fois que cela se produit cette année et c’est une douleur pour la restaurer à chaque fois.

Je voudrais pouvoir sauvegarder la crontab pour mon utilisateur mais pour cela, je dois savoir où elle est stockée.

    
posée Oli 13.11.2012 - 15:26
la source

4 réponses

276

En fait, il n'est pas recommandé de manipuler ces fichiers à la main. Par page de manuel crontab :

  

Chaque utilisateur peut avoir son propre crontab   ce sont des fichiers en /var/spool/cron/crontabs , ils ne sont pas des fichiers   destiné à être édité directement.

Les fichiers sous /var/spool sont considérés comme temporaires / fonctionnels, c'est pourquoi ils sont probablement supprimés lors d'une mise à niveau, même si un examen plus approfondi des scripts de mise à jour du paquet cron peut vous éclairer.

Quoi qu’il en soit, il est toujours recommandé de sauvegarder vos entrées cron ou de les conserver dans un fichier de votre répertoire personnel.

Je suppose que vous utilisez crontab -e pour créer des fichiers crontab à la volée. Si c'est le cas, vous pouvez obtenir une "copie" de votre fichier crontab en effectuant crontab -l . Pipe que dans un fichier pour obtenir une "sauvegarde":

crontab -l > my-crontab

Ensuite, vous pouvez éditer ce fichier my-crontab pour ajouter ou modifier des entrées, puis l'installer en le donnant à crontab:

crontab my-crontab

Ceci effectue la même vérification de la syntaxe que crontab -e .

    
réponse donnée roadmr 13.11.2012 - 16:21
la source
45

Son stock dans le dossier /var/spool/cron/crontabs sous le nom d'utilisateur.

    
réponse donnée Manula Waidyanatha 13.11.2012 - 15:29
la source
27

J'ai finalement découvert pourquoi l’installation de crontabs et de Postfix continuait après le démarrage. C'est une raison vraiment stupide mais ...

J'ai eu /var/spool monté en tant que lecteur tmpfs de mémoire vive.

Ça semble idiot et ça l'est, mais j'avais suivi l’un des anciens réglages SSD pour allonger la durée de vie de mon SSD. Ce faisant, j'ai monté aveuglément /tmp , /var/tmp et /var/spool as tmpfs sans penser aux répercussions. Je pensais que /var/spool était comme /proc/ ou /run/ et que cela n'était utile que pour la durée de la session. J'avais clairement tort.

    
réponse donnée Oli 30.05.2013 - 15:20
la source
10

Pour répertorier tous les travaux cron de tous les utilisateurs de votre système:

for user in $(cut -f1 -d: /etc/passwd)
do
  echo $user
  crontab -u $user -l
done

Une alternative à votre problème serait de les placer dans le dossier cron.d et de spécifier l'utilisateur par cron approprié, comme dans l'exemple:

00 01 * * * user /home/user/user-script.sh
    
réponse donnée pl1nk 28.03.2013 - 13:39
la source

Lire d'autres questions sur les étiquettes