Ho eseguito crontab -r invece di crontab -e e ho eliminato il mio file crontab. Non avevo un backup e nuovo per recuperare il file eliminato.
È possibile?
Grazie,
Peter
Ho eseguito crontab -r invece di crontab -e e ho eliminato il mio file crontab. Non avevo un backup e nuovo per recuperare il file eliminato.
È possibile?
Grazie,
Peter
Risposte:
Prova a guardare / var / log / cron per vedere cosa è stato in esecuzione, quindi prova a ricreare il crontab da quello. È disordinato ma dovresti essere in grado di ripristinare tutto ciò che era stato eseguito in precedenza. Non tanta fortuna per i nuovi articoli però. In bocca al lupo!
Prima di tutto: fai sempre dei backup!
Ma è così facile confondersi crontab -r
e crontab -e
. L'ho fatto da solo.
Questo è quello che ho fatto:
Puoi provare a dare un'occhiata a / var / log / cron e creare di nuovo il tuo crontab.
grep commandname1 /var/log/cron
cat /var/log/cron | grep -v commandname1
. Ciò escluderà il comando1 che hai già coperto.cat /var/log/cron | grep -v commandname1 | grep -v commandname2
Ora dovresti anche eseguire grep su cronlog più vecchi per scoprire lavori che potrebbero essere eseguiti solo una volta al mese.
/var/log/syslog/*
.
Ho creato uno script PHP che esegue un ripristino completo del tuo crontab, in base al registro.
Emette una singola istanza di ogni comando cron eseguito dall'utente per l'ultima settimana.
L'ho messo qui
https://github.com/dangreenisrael/recover_crontab
Ecco un esempio di output:
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
Hai delle opzioni, ma nessuna è particolarmente carina. Nel caso in cui non ci abbia pensato, se hai una versione recente su una macchina di sviluppo, puoi copiarla da lì ... Lo dico solo perché spesso mi dimentico delle copie che potrebbero essere su altre macchine, quindi Presumo che tu l'abbia già provato.
Se il tuo file è troppo pesantemente personalizzato per renderlo semplicemente ricostruibile, puoi sempre provare alcune analisi forensi di basso livello. Prova a cercare su Google tutorial basati su sleuthkit e UFS Explorer. Le persone che utilizzano questi strumenti trovano gradi ampiamente diversi in termini di facilità d'uso e percentuali di successo, quindi, come al solito, YMMV.
Ugh non può pubblicare un commento sulla domanda originale, ma un collega mi ha appena mostrato un ottimo strumento: creare un alias in qualunque cosa .profile
tu usi per crontab
essere crontab -i
. La -i
bandiera chiede conferma prima di eliminarla.
Quindi, se lo fai crontab -e
, procederai alla modifica come al solito, ma se lo fai accidentalmente crontab -r
verrai accolto con una richiesta di conferma.