as opções para editar e remover não devem estar ao lado do teclado. Um erro muito fácil de fazer para uma rápida digitação.
einstiien
Foi exatamente o que aconteceu comigo.
Respostas:
9
Tente olhar para / var / log / cron para ver o que está sendo executado e tente recriar o crontab a partir disso. É uma bagunça, mas você deve conseguir restaurar tudo o que foi executado anteriormente. Não há muita sorte para itens mais novos. Boa sorte!
Por que isso foi dado -1? É uma resposta direta à pergunta.
Dan Green-Leipciger
Eu tenho usado seu script. Incrível, muito obrigado!
MeV
O script PHP não funciona corretamente para comandos que contêm parênteses de fechamento. Corrigido e portado para o bash:zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Splitlocked em 28/11
1
Você tem opções, mas nenhuma é particularmente bonita. Caso você não tenha pensado nisso, se você tem uma versão recente em uma máquina de desenvolvimento, pode copiá-la de lá ... Só digo isso porque geralmente esqueço cópias que podem estar em outras máquinas, então Presumo que você já tenha tentado isso.
Se o seu arquivo for muito pesado para simplificar sua reconstrução, você sempre poderá tentar análises forenses de baixo nível. Tente pesquisar no Google os tutoriais baseados no sleuthkit e no UFS Explorer. As pessoas que usam essas ferramentas encontram graus bastante variados em termos de facilidade de uso e taxas de sucesso, assim como sempre, YMMV.
Ugh não pode postar um comentário sobre a questão original, mas um colega de trabalho me mostrou uma grande ferramenta: fazer um alias em qualquer .profileque você usa para crontabser crontab -i. A -ibandeira pede confirmação antes de excluir.
Portanto, se você fizer crontab -eisso, continuará editando como de costume, mas se você acidentalmente crontab -rfor recebido com um prompt de confirmação.
Respostas:
Tente olhar para / var / log / cron para ver o que está sendo executado e tente recriar o crontab a partir disso. É uma bagunça, mas você deve conseguir restaurar tudo o que foi executado anteriormente. Não há muita sorte para itens mais novos. Boa sorte!
fonte
Primeiro de tudo: sempre faça backups!
Mas, é tão fácil de misturar
crontab -r
ecrontab -e
. Eu mesmo fiz isso.Isso é o que eu fiz:
Você pode tentar dar uma olhada em / var / log / cron e criar seu crontab novamente.
grep commandname1 /var/log/cron
cat /var/log/cron | grep -v commandname1
. Isso excluirá o comando1 que você já cobriu.cat /var/log/cron | grep -v commandname1 | grep -v commandname2
Agora você também deve executar o grep em cronlogs antigos para descobrir trabalhos que podem ser executados apenas uma vez por mês.
fonte
/var/log/syslog/*
.Script para recuperação completa do crontab
Eu criei um script PHP que faz uma recuperação completa do seu crontab, com base no log.
Ele gera uma única instância de cada comando cron executado pelo usuário na última semana.
Eu coloquei aqui
https://github.com/dangreenisrael/recover_crontab
Aqui está uma amostra de saída:
fonte
zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Você tem opções, mas nenhuma é particularmente bonita. Caso você não tenha pensado nisso, se você tem uma versão recente em uma máquina de desenvolvimento, pode copiá-la de lá ... Só digo isso porque geralmente esqueço cópias que podem estar em outras máquinas, então Presumo que você já tenha tentado isso.
Se o seu arquivo for muito pesado para simplificar sua reconstrução, você sempre poderá tentar análises forenses de baixo nível. Tente pesquisar no Google os tutoriais baseados no sleuthkit e no UFS Explorer. As pessoas que usam essas ferramentas encontram graus bastante variados em termos de facilidade de uso e taxas de sucesso, assim como sempre, YMMV.
fonte
Ugh não pode postar um comentário sobre a questão original, mas um colega de trabalho me mostrou uma grande ferramenta: fazer um alias em qualquer
.profile
que você usa paracrontab
sercrontab -i
. A-i
bandeira pede confirmação antes de excluir.Portanto, se você fizer
crontab -e
isso, continuará editando como de costume, mas se você acidentalmentecrontab -r
for recebido com um prompt de confirmação.fonte
Acho que não. É hora de começar a fazer backup desse arquivo importante (com todos os outros em / etc / var / spool / home ...).
fonte