Saya menjalankan crontab -r alih-alih crontab -e dan menghapus file crontab saya. Saya tidak punya cadangan dan baru untuk memulihkan file yang dihapus.
Apakah ini mungkin?
Terima kasih,
Peter
Saya menjalankan crontab -r alih-alih crontab -e dan menghapus file crontab saya. Saya tidak punya cadangan dan baru untuk memulihkan file yang dihapus.
Apakah ini mungkin?
Terima kasih,
Peter
Jawaban:
Coba lihat / var / log / cron untuk melihat apa yang telah berjalan dan kemudian coba buat ulang crontab dari situ. Ini berantakan tetapi Anda harus dapat mengembalikan semua yang sebelumnya dijalankan. Namun, tidak banyak keberuntungan untuk item baru. Semoga berhasil!
Pertama-tama: Selalu buat cadangan!
Tapi, sangat mudah untuk berbaur crontab -r
dan crontab -e
. Saya hanya melakukan ini sendiri.
Itu yang saya lakukan:
Anda dapat mencoba melihat / var / log / cron dan membangun crontab Anda lagi.
grep commandname1 /var/log/cron
cat /var/log/cron | grep -v commandname1
. Ini akan mengecualikan perintah1 yang sudah Anda bahas.cat /var/log/cron | grep -v commandname1 | grep -v commandname2
Sekarang Anda juga harus menjalankan grep pada cronlog lama untuk mencari pekerjaan yang mungkin dijalankan hanya sekali dalam sebulan.
/var/log/syslog/*
.
Saya membuat skrip PHP yang melakukan pemulihan penuh terhadap crontab Anda, berdasarkan log.
Ini output contoh tunggal dari setiap perintah cron dijalankan oleh pengguna selama minggu terakhir.
Saya taruh di sini
https://github.com/dangreenisrael/recover_crontab
Berikut adalah contoh keluaran:
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
Anda punya opsi, tetapi tidak ada yang sangat cantik. Jika Anda belum memikirkannya, jika Anda memiliki versi terbaru pada mesin pengembangan, Anda dapat menyalinnya dari sana ... Saya hanya mengatakan itu karena saya sering lupa tentang salinan yang mungkin ada di komputer lain, jadi Saya berasumsi bahwa Anda sudah mencobanya.
Jika file Anda terlalu banyak dikustomisasi untuk membuatnya mudah dibangun kembali, Anda selalu dapat mencoba beberapa forensik tingkat rendah. Coba googling untuk tutorial yang berbasis di sekitar sleuthkit dan UFS Explorer. Orang yang menggunakan alat ini menemukan tingkat yang sangat bervariasi dalam hal kemudahan penggunaan dan tingkat keberhasilan, jadi seperti biasa, YMMV.
Ugh tidak bisa mengirim komentar pada pertanyaan awal, tapi rekan kerja hanya menunjukkan alat yang hebat: membuat alias dalam apa pun yang .profile
Anda gunakan untuk crontab
menjadi crontab -i
. The -i
bendera meminta konfirmasi sebelum menghapus.
Jadi, jika Anda melakukannya crontab -e
akan melanjutkan untuk mengedit seperti biasa, tetapi jika Anda secara tidak sengaja crontab -r
Anda akan disambut dengan konfirmasi konfirmasi.