Cron-Tab-Datei gelöscht und muss wiederhergestellt werden
11
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.
Die Optionen zum Bearbeiten und Entfernen sollten auf der Tastatur nicht direkt nebeneinander liegen. Ein zu einfacher Fehler für einen schnellen Typer.
einstiien
Genau das ist mir passiert.
Antworten:
9
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!
Warum wurde dies -1 gegeben? Es ist eine direkte Antwort auf die Frage.
Dan Green-Leipciger
Ich habe dein Skript verwendet. Erstaunlich, vielen Dank!
MeV
Das PHP-Skript funktioniert nicht ordnungsgemäß für Befehle, die schließende Klammern enthalten. zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Behoben
1
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 .profileSie verwenden crontabzu sein crontab -i. Das -iFlag fordert vor dem Löschen eine Bestätigung an.
Wenn Sie dies tun crontab -e, wird die Bearbeitung wie gewohnt crontab -rfortgesetzt. Wenn Sie dies jedoch versehentlich tun, werden Sie mit einer Bestätigungsaufforderung begrüßt.
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!
quelle
Zuallererst: Machen Sie immer Backups!
Aber es ist so einfach zu verwechseln
crontab -r
undcrontab -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.
quelle
/var/log/syslog/*
.Skript für die vollständige Wiederherstellung von Crontab
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:
quelle
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.
quelle
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 verwendencrontab
zu seincrontab -i
. Das-i
Flag fordert vor dem Löschen eine Bestätigung an.Wenn Sie dies tun
crontab -e
, wird die Bearbeitung wie gewohntcrontab -r
fortgesetzt. Wenn Sie dies jedoch versehentlich tun, werden Sie mit einer Bestätigungsaufforderung begrüßt.quelle
Das glaube ich nicht. Es ist Zeit, mit dem Sichern dieser wichtigen Datei zu beginnen (mit allen anderen in / etc / var / spool / home ...).
quelle