J'ai exécuté crontab -r au lieu de crontab -e et supprimé mon fichier crontab. Je n'avais pas de sauvegarde et de nouveau pour récupérer le fichier supprimé.
Est-ce possible?
Merci,
Peter
J'ai exécuté crontab -r au lieu de crontab -e et supprimé mon fichier crontab. Je n'avais pas de sauvegarde et de nouveau pour récupérer le fichier supprimé.
Est-ce possible?
Merci,
Peter
Réponses:
Essayez de regarder / var / log / cron pour voir ce qui a été exécuté, puis essayez de recréer la crontab à partir de cela. C'est désordonné mais vous devriez pouvoir restaurer tout ce qui avait précédemment fonctionné. Pas tellement de chance pour les nouveaux articles. Bonne chance!
Tout d'abord: faites toujours des sauvegardes!
Mais, il est si facile de mélanger crontab -r
et crontab -e
. Je viens de le faire moi-même.
C'est ce que j'ai fait:
Vous pouvez essayer de jeter un œil à / var / log / cron et reconstruire votre crontab.
grep commandname1 /var/log/cron
cat /var/log/cron | grep -v commandname1
. Cela exclura la commande1 que vous avez déjà couverte.cat /var/log/cron | grep -v commandname1 | grep -v commandname2
Maintenant, vous devez également exécuter le grep sur les anciens cronlogs pour découvrir les travaux qui ne peuvent être exécutés qu'une fois par mois.
/var/log/syslog/*
.
J'ai fait un script PHP qui fait une récupération complète de votre crontab, basé sur le journal.
Il génère une seule instance de chaque commande cron exécutée par l'utilisateur la semaine dernière.
Je le mets ici
https://github.com/dangreenisrael/recover_crontab
Voici un exemple de sortie:
perl ~/sorttv/sorttv.pl
/usr/local/bin/flexget
bash ~/scripts/sort_sports.sh
~/scripts/play_recently_added.sh
zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Vous avez des options, mais aucune n'est particulièrement jolie. Si vous n'y avez pas pensé, si vous avez une version récente sur une machine de développement, vous pouvez la copier à partir de là ... Je dis seulement cela parce que j'oublie souvent les copies qui peuvent être sur d'autres machines, donc Je suppose que vous avez déjà essayé cela.
Si votre fichier est trop lourdement personnalisé pour être simplement reconstruit, il est toujours possible d'essayer la criminalistique de bas niveau. Essayez de googler pour les didacticiels basés sur sleuthkit et UFS Explorer. Les personnes utilisant ces outils trouvent des degrés très variables en termes de facilité d'utilisation et de taux de réussite, comme d'habitude, YMMV.
Ugh ne peut pas poster de commentaire sur la question d'origine, mais un collègue m'a juste montré un excellent outil: créer un alias dans tout .profile
ce que vous utilisez pour crontab
être crontab -i
. Le -i
drapeau demande une confirmation avant de supprimer.
Donc, si vous le faites, vous crontab -e
procéderez à la modification comme d'habitude, mais si vous le faites accidentellement, crontab -r
vous êtes accueilli par une invite de confirmation.