Aku bergegas dan lupa e di crontab -e
sebelum aku memukul Enter.
Sebuah prompt muncul, jadi saya menutup dengan Ctrl+ D, sama seperti saya biasanya keluar dari prompt input.
Sekarang, tanpa peringatan, seluruh crontab saya kosong.
Mengapa? Logika apa yang menyebabkan ini terjadi? Bagaimana saya harus menutup prompt selain Ctrl+ Dagar tidak ada yang disimpan?
Jawaban:
Control+Cdalam hal ini akan membatalkan
crontab
dan tidak menghapus entri crontab saat ini. Jika tidak, telanjang-
adalah indikasi umum pada Unix bahwa input harus dibaca dari input standar, dan Control+Dmenutup input standar, menghasilkan file crontab kosong, karena tidak ada yang disalurkan pada input standar.Entri crontab pengguna di sepanjang baris
dapat membantu melawan oopsi di masa mendatang dengan menyediakan salinan cadangan data crontab (atau Anda dapat menjadi liar dengan kontrol versi, atau betapapun kompleksnya Anda menginginkan pencadangan).
sumber
Anda mengganti crontab Anda dengan konten dari stdin, yang kosong. Ini pada dasarnya sama dengan
crontab < /dev/null
.Menekan Ctrl + C mungkin merupakan kebiasaan yang lebih baik.
Crontab Anda kemungkinan besar hilang. Cadangan mungkin ada di suatu tempat
/var/spool/cron
, tetapi saya tidak tahu ada cron daemon yang mengelola cadangan. Anda harus mengatur cadangan/var/spool/cron
jika itu penting bagi Anda.sumber