Apakah hanya saya atau tidak, lebih masuk akal jika crontab -r bertanya ya / tidak secara default ??
user1446688
4
Saya pikir memiliki prompt ya / tidak akan menjadi ide bagus. terutama karena e & r berada tepat di sebelah satu sama lain .. dan crontab -emerupakan perintah cron yang sangat umum.
JustinP
4
Dalam 7 tahun atau lebih admin bekerja, saya tidak pernah mengalami hal ini pada saya. Sekarang saya takut. Saatnya untuk mulai membuat cadangan crontab secara teratur.
Caja
7
Ini sudah terjadi pada saya dua kali. Ini adalah ide terburuk yang pernah ada euntuk diedit dan runtuk dihapus dengan benar-benar tidak cepat sama sekali !!
DaniG2k
9
Hal pertama yang harus dilakukan alias crontab=crontab -i,. Tapi crontab seharusnya membuat default itu, mengingat bahwa e & r bersebelahan ...
anishsane
Jawaban:
49
crontab -r menghapus satu-satunya file yang berisi tugas cron.
Jadi, jika Anda tidak membuat cadangan, satu-satunya pilihan pemulihan Anda adalah:
Pada RedHat / CentOS, jika pekerjaan Anda telah dipicu sebelumnya, Anda dapat menemukan cron login /var/log/cron. File akan membantu Anda menulis ulang pekerjaan lagi.
Pilihan lain adalah memulihkan file menggunakan alat pemulihan file. Ini sepertinya kurang berhasil, karena partisi sistem biasanya sibuk dan sektor terkait mungkin telah ditimpa.
Di Ubuntu / Debian, jika tugas Anda telah berjalan sebelumnya, coba grep CRON /var/log/syslog
Saya tidak dapat memilih Anda, tetapi jawaban ini bermanfaat bagi saya. thankx
Teerath Kumar
1
@RajaRassani Anda dapat menandai jawabannya adalah yang benar dengan tanda centang. Terima kasih atas umpan baliknya!
SkyDan
ini baru saja terjadi pada saya :) total gelandangan .. Saya menggunakan server virtual dan mencadangkannya secara teratur..jadi saya akan memutar cadangan .. dan mendapatkan crontab yang dihapus
JustinP
+1 karena langsung:}
namezero
Anda dapat mencoba keberuntungan Anda mencari cadangan yang dibuat oleh editor di /tmp/crontab.wpMhKS (tentu saja nama dapat berubah). Ini mungkin bukan versi terbaru tetapi dalam kasus saya ini sangat membantu
Jong Bor
21
Jika Anda tidak memiliki /var/log/cronfile, Anda dapat memulihkan perintah (tetapi bukan timing) dari syslog.
grep 'CRON.*(yourusername)' /var/log/syslog
Anda kemudian dapat mencari tahu sebagian besar waktu dengan melihat stempel data.
Ini lebih buruk. Itu mengedit file spool tanpa memberitahukan cronbahwa file tersebut telah diedit. Itu juga tidak akan berfungsi ketika pengguna secara tidak sengaja menghapusnya crontabkarena tidak ada file untuk diedit.
roaima
Suara positif dari saya untuk benar-benar menyatakan lokasi crontab. Saya memiliki cadangan seluruh sistem dan dapat dengan mudah mengambil cronjobs saya. Terima kasih!
crontab -e
merupakan perintah cron yang sangat umum.e
untuk diedit danr
untuk dihapus dengan benar-benar tidak cepat sama sekali !!alias crontab=crontab -i
,. Tapi crontab seharusnya membuat default itu, mengingat bahwa e & r bersebelahan ...Jawaban:
crontab -r
menghapus satu-satunya file yang berisi tugas cron.Jadi, jika Anda tidak membuat cadangan, satu-satunya pilihan pemulihan Anda adalah:
/var/log/cron
. File akan membantu Anda menulis ulang pekerjaan lagi.grep CRON /var/log/syslog
sumber
Jika Anda tidak memiliki
/var/log/cron
file, Anda dapat memulihkan perintah (tetapi bukan timing) darisyslog
.Anda kemudian dapat mencari tahu sebagian besar waktu dengan melihat stempel data.
sumber
/var/log/syslog
.grep 'CRON.*(yourusername)' /var/log/syslog
vi /var/spool/cron/*user*
atau jika Andaroot
penggunavi /var/spool/cron/root
sumber
cron
bahwa file tersebut telah diedit. Itu juga tidak akan berfungsi ketika pengguna secara tidak sengaja menghapusnyacrontab
karena tidak ada file untuk diedit.