Ich habe crontab -r anstelle von crontab -e ausgeführt und meine crontab-Datei gelöscht. Ich hatte kein Backup und war neu, um die gelöschte Datei wiederherzustellen.
Ist das möglich?
Vielen Dank,
Peter
Ich habe crontab -r anstelle von crontab -e ausgeführt und meine crontab-Datei gelöscht. Ich hatte kein Backup und war neu, um die gelöschte Datei wiederherzustellen.
Ist das möglich?
Vielen Dank,
Peter
Antworten:
Schauen Sie sich / var / log / cron an, um zu sehen, was ausgeführt wurde, und versuchen Sie dann, die Crontab daraus neu zu erstellen. Es ist chaotisch, aber Sie sollten in der Lage sein, alles wiederherzustellen, was zuvor ausgeführt wurde. Nicht so viel Glück für neuere Artikel. Viel Glück!
Zuallererst: Machen Sie immer Backups!
Aber es ist so einfach zu verwechseln crontab -r
und crontab -e
. Ich habe das einfach selbst gemacht.
Das ist, was ich tat:
Sie können versuchen, einen Blick auf / var / log / cron zu werfen und Ihre Crontab erneut zu erstellen.
grep commandname1 /var/log/cron
cat /var/log/cron | grep -v commandname1
. Dies schließt den Befehl1 aus, den Sie bereits behandelt haben.cat /var/log/cron | grep -v commandname1 | grep -v commandname2
Jetzt sollten Sie das grep auch für ältere Cronlogs ausführen, um Jobs herauszufinden, die möglicherweise nur einmal im Monat ausgeführt werden.
/var/log/syslog/*
.
Ich habe ein PHP-Skript erstellt, das eine vollständige Wiederherstellung Ihrer Crontab basierend auf dem Protokoll ausführt.
Es gibt eine einzelne Instanz jedes Cron-Befehls aus, den der Benutzer in der letzten Woche ausgeführt hat.
Ich habe es hierher gebracht
https://github.com/dangreenisrael/recover_crontab
Hier ist eine Beispielausgabe:
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
Sie haben Optionen, aber keine sind besonders hübsch. Falls Sie nicht daran gedacht haben, wenn Sie eine aktuelle Version auf einem Entwicklungscomputer haben, können Sie diese von dort kopieren ... Ich sage das nur, weil ich oft Kopien vergesse, die sich möglicherweise auf anderen Computern befinden Ich gehe davon aus, dass Sie das bereits versucht haben.
Wenn Ihre Datei zu stark angepasst ist, um sie einfach neu zu erstellen, können Sie jederzeit eine einfache Forensik ausprobieren. Versuchen Sie, nach Tutorials zu suchen, die auf Sleuthkit und UFS Explorer basieren . Menschen, die diese Tools verwenden, finden sehr unterschiedliche Grade in Bezug auf Benutzerfreundlichkeit und Erfolgsraten, also wie üblich YMMV.
Ugh kann keinen Kommentar auf die ursprüngliche Frage posten, aber ein Kollege hat mir gezeigt , nur ein großes Werkzeug: machen Sie einen Alias in was auch immer .profile
Sie verwenden crontab
zu sein crontab -i
. Das -i
Flag fordert vor dem Löschen eine Bestätigung an.
Wenn Sie dies tun crontab -e
, wird die Bearbeitung wie gewohnt crontab -r
fortgesetzt. Wenn Sie dies jedoch versehentlich tun, werden Sie mit einer Bestätigungsaufforderung begrüßt.