ha cancellato il file del cron tab e ha bisogno di recuperarlo

Ho eseguito crontab -r invece di crontab -e e ho cancellato il mio file crontab. Non ho avuto un backup e un nuovo per recuperare il file eliminato.

È ansible?

  • opzioni di output cron quando si utilizza la curl
  • Come programmare un lavoro Cron per il secondo all'ultimo giorno di each mese
  • Quanti lavori di cron sono troppi?
  • Crontab: c'è un log con l'ora di inizio e di fine?
  • Quanto è preciso il cron?
  • È ansible get un lavoro cron da eseguire solo tra determinate ore?
  • Grazie,

    Pietro

    6 Solutions collect form web for “ha cancellato il file del cron tab e ha bisogno di recuperarlo”

    Provare a guardare / var / log / cron per vedere cosa è stato eseguito e quindi cercare di ricreare il crontab da quello. Il suo disordinato ma dovresti essere in grado di ripristinare tutto ciò che aveva precedentemente eseguito. Non tanto fortuna per gli oggetti più recenti però. In bocca al lupo!

    Prima di tutto: fare sempre dei backup!

    Ma è così facile mescolare crontab -r e crontab -e . Ho appena fatto questo io stesso.

    Questo è ciò che ho fatto:

    È ansible provare a dare un'occhiata a / var / log / cron e creare nuovamente il crontab.

    1. Date un'occhiata al logfile
    2. Prendere il primo command e fare grep commandname1 /var/log/cron
    3. Scopri la sistematica dietro i tempi in cui è stato eseguito il command
    4. Mettere quella voce nel tuo nuovo crontab
    5. eseguire cat /var/log/cron | grep -v commandname1 cat /var/log/cron | grep -v commandname1 . Questo escluderà il command1 che hai già coperto.
    6. Prendete il command successivo e grep per esso
    7. Scopri la sistematica dietro i tempi in cui è stato eseguito il secondo command
    8. metta quella voce nel tuo nuovo crontab
    9. eseguire cat /var/log/cron | grep -v commandname1 | grep -v commandname2 cat /var/log/cron | grep -v commandname1 | grep -v commandname2
    10. Ripetere fino a quando non si sono coperti tutti i comandi

    Ora si dovrebbe anche eseguire il grep su cronlog più vecchi per trovare i lavori che potrebbero essere eseguiti solo una volta in un mese.

    Script per il recupero completo di crontab

    Ho fatto uno script PHP che esegue un recupero completo del tuo crontab, basato sul log.

    Esegue un'unica istanza di each command cron eseguito dall'utente per l'ultima settimana.

    L'ho messo qui

    https://github.com/dangreenisrael/recover_crontab

    Ecco un output di esempio:

     perl ~/sorttv/sorttv.pl /usr/local/bin/flexget bash ~/scripts/sort_sports.sh ~/scripts/play_recently_added.sh 

    Hai opzioni, ma nessuno è particolarmente carino. Se non ne hai pensato, se hai una versione recente su una macchina per lo sviluppo, puoi copiare da lì … dico solo che perché spesso mi dimentico delle copie che possono essere su altre macchine, quindi Suppongo che l'hai già provato.

    Se il tuo file è troppo personalizzato per renderlo semplicemente ricostruito, puoi sempre provare qualche forense di basso livello. Prova googling per tutorial basati su sleuthkit e UFS Explorer. Le persone che utilizzano questi strumenti trovano diversi gradi in termini di facilità d'uso e di tassi di successo, così come al solito, YMMV.

    Non lo credo. È giunto il momento di avviare il backup di questo file importnte (con tutti gli altri in / etc / var / spool / home …).

    Non posso pubblicare un commento sulla domanda originale, ma un collaboratore mi ha mostrato un ottimo strumento: fai un alias in qualunque .profile che utilizzi per crontab come crontab -i . La bandiera -i richiede conferma prima di eliminare.

    Quindi, se fai crontab -e procederà a modificare come al solito, ma se accidentalmente fai crontab -r siete accolti con un prompt di conferma.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.