fichier d'onglet cron supprimé et besoin de le récupérer
11
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é.
les options de modification et de suppression ne doivent pas être côte à côte sur le clavier. Trop facile une erreur pour faire un typer rapide.
einstiien
c'est exactement ce qui m'est arrivé.
Réponses:
9
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!
Répétez jusqu'à ce que vous ayez couvert toutes les commandes
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.
Le script PHP ne fonctionne pas correctement pour les commandes contenant des parenthèses fermantes. Corrigé et porté sur bash:zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Splitlocked
1
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 .profilece que vous utilisez pour crontabêtre crontab -i. Le -idrapeau demande une confirmation avant de supprimer.
Donc, si vous le faites, vous crontab -eprocéderez à la modification comme d'habitude, mais si vous le faites accidentellement, crontab -rvous êtes accueilli par une invite de confirmation.
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!
la source
Tout d'abord: faites toujours des sauvegardes!
Mais, il est si facile de mélanger
crontab -r
etcrontab -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.
la source
/var/log/syslog/*
.Script pour la récupération complète de crontab
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:
la source
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.
la source
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 pourcrontab
êtrecrontab -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.la source
Je ne pense pas. Il est temps de commencer à sauvegarder ce fichier important (avec tous les autres dans / etc / var / spool / home ...).
la source