Ist es nur ich oder macht es für crontab -r keinen Sinn, standardmäßig Ja / Nein zu fragen?
user1446688
4
Ich denke, eine Ja / Nein-Abfrage wäre eine großartige Idee. zumal e & r direkt nebeneinander liegen .. und crontab -eein wirklich gängiger cron befehl ist.
JustinP
4
In 7 oder mehr Jahren Admin-Arbeit ist mir das noch nie passiert. Jetzt habe ich Angst. Es ist Zeit, die Crontabs regelmäßig zu sichern.
Caja
7
Das ist mir schon zweimal passiert. Es ist die schlechteste Idee, die jemals zum eBearbeiten und rEntfernen ohne jegliche Aufforderung gemacht wurde !!
DaniG2k,
9
Das erste, was zu tun ist alias crontab=crontab -i. Aber Crontab sollte diese Standardeinstellung vorgenommen haben, da e & r nebeneinander liegen ...
Anishsane
Antworten:
49
crontab -r Entfernt die einzige Datei, die die Cron-Jobs enthält.
Wenn Sie also kein Backup erstellt haben, sind Ihre einzigen Wiederherstellungsoptionen:
Unter RedHat / CentOS finden Sie das Cron-Login, wenn Ihre Jobs zuvor ausgelöst wurden /var/log/cron. Die Datei hilft Ihnen, die Jobs erneut zu schreiben.
Eine andere Möglichkeit besteht darin, die Datei mit einem Dateiwiederherstellungstool wiederherzustellen. Dies ist jedoch weniger wahrscheinlich, da die Systempartition normalerweise ausgelastet ist und die entsprechenden Sektoren wahrscheinlich bereits überschrieben wurden.
Wenn Ihre Aufgabe unter Ubuntu / Debian bereits ausgeführt wurde, versuchen Sie es grep CRON /var/log/syslog
Ich konnte dich nicht wählen, aber diese Antwort war ein bisschen nützlich für mich. Thankx
Teerath Kumar
1
@RajaRassani Sie können die richtige Antwort jedoch mit einem Häkchen markieren. Danke für die Rückmeldung!
SkyDan
das ist mir gerade passiert :) total blöd .. ich benutze virtuelle server und sichere sie regelmäßig..so werde ich eine sicherung
hochfahren
+1 für die einfache
Bedienung
Sie können Ihr Glück versuchen und nach einem Backup suchen, das vom Editor in /tmp/crontab.wpMhKS erstellt wurde (der Name kann sich natürlich ändern). Es ist vielleicht nicht die neueste Version, aber in meinem Fall hat es sehr geholfen
Jong Bor
21
Wenn Sie keine /var/log/cronDatei haben, können Sie die Befehle (aber nicht die Timings) von der wiederherstellen syslog.
grep 'CRON.*(yourusername)' /var/log/syslog
Sie können dann die meisten Timings herausfinden, indem Sie sich die Datenstempel ansehen.
@ Aurelijus Rozenas Ich habe versehentlich sys zum Verzeichnispfad hinzugefügt, der / var / log / syslog sein sollte. Ich habe meinen Beitrag korrigiert.
Meow
2
grep 'CRON.*(yourusername)' /var/log/syslog
Aidan
@Aidin du bist mein Retter! Hinweis für sich selbst: Bearbeiten Sie die crontab-Datei niemals, wenn der Server voll ist.
Shadoath
1
Puh das war knapp! Ich habe jetzt ein Cron hinzugefügt, um mein Crontab jeden
Tag
-5
vi /var/spool/cron/*user*oder wenn Sie der rootBenutzer dann sindvi /var/spool/cron/root
Das ist schlimmer. Die Spooldateien werden bearbeitet, ohne crondass Sie darüber informiert werden, dass die Datei bearbeitet wurde. Es funktioniert auch nicht, wenn der Benutzer versehentlich seine gelöscht hat, crontabda keine zu bearbeitende Datei vorhanden ist.
Roaima
Ich habe mich dafür ausgesprochen, dass ich die Position der Crontab angegeben habe. Ich hatte eine vollständige Systemsicherung und konnte meine Cronjobs leicht abrufen. Vielen Dank!
crontab -e
ein wirklich gängiger cron befehl ist.e
Bearbeiten undr
Entfernen ohne jegliche Aufforderung gemacht wurde !!alias crontab=crontab -i
. Aber Crontab sollte diese Standardeinstellung vorgenommen haben, da e & r nebeneinander liegen ...Antworten:
crontab -r
Entfernt die einzige Datei, die die Cron-Jobs enthält.Wenn Sie also kein Backup erstellt haben, sind Ihre einzigen Wiederherstellungsoptionen:
/var/log/cron
. Die Datei hilft Ihnen, die Jobs erneut zu schreiben.grep CRON /var/log/syslog
quelle
Wenn Sie keine
/var/log/cron
Datei haben, können Sie die Befehle (aber nicht die Timings) von der wiederherstellensyslog
.Sie können dann die meisten Timings herausfinden, indem Sie sich die Datenstempel ansehen.
quelle
/var/log/syslog
.grep 'CRON.*(yourusername)' /var/log/syslog
vi /var/spool/cron/*user*
oder wenn Sie derroot
Benutzer dann sindvi /var/spool/cron/root
quelle
cron
dass Sie darüber informiert werden, dass die Datei bearbeitet wurde. Es funktioniert auch nicht, wenn der Benutzer versehentlich seine gelöscht hat,crontab
da keine zu bearbeitende Datei vorhanden ist.