apagou o arquivo da guia cron e precisa recuperá-lo

11

Eu rodei crontab -r em vez de crontab -e e deletei meu arquivo crontab. Eu não tenho um backup e novo para recuperar o arquivo excluído.

Isso é possível?

Obrigado,

Peter

    
por gWaldo 04.02.2010 / 19:27

6 respostas

9

Tente ver / var / log / cron para ver o que está sendo executado e tente recriar o crontab a partir dele. Sua bagunça, mas você deve ser capaz de restaurar tudo o que tinha sido executado anteriormente. Não muita sorte para itens mais novos embora. Boa sorte!

    
por 26.10.2010 / 20:20
5

Primeiro de tudo: sempre faça backups!

Mas é tão fácil misturar crontab -r e crontab -e . Eu apenas fiz isso sozinho.

Foi o que eu fiz:

Você pode tentar dar uma olhada em / var / log / cron e construir seu crontab novamente.

  1. Dê uma olhada no arquivo de log
  2. Pegue o primeiro comando e faça grep commandname1 /var/log/cron
  3. Descobrir a sistemática por trás dos horários em que o comando foi executado
  4. Coloque essa entrada no seu novo crontab
  5. execute cat /var/log/cron | grep -v commandname1 . Isso excluirá o comando1 que você já cobriu.
  6. Pegue o próximo comando e grep para ele
  7. Descobrir a sistemática por trás dos horários em que o segundo comando foi executado
  8. insira essa entrada no seu novo crontab
  9. execute cat /var/log/cron | grep -v commandname1 | grep -v commandname2
  10. Repita até cobrir todos os comandos

Agora você também deve executar o grep em cronlogs mais antigos para descobrir tarefas que possam ser executadas apenas uma vez por mês.

    
por 06.04.2012 / 01:25
4

Script para recuperação completa de crontab

Eu fiz um script PHP que faz uma recuperação completa do seu crontab, baseado no log.

Ele gera uma única instância de cada comando cron executado pelo usuário na última semana.

Eu coloquei aqui

link

Aqui está um exemplo de saída:

perl ~/sorttv/sorttv.pl

/usr/local/bin/flexget

bash ~/scripts/sort_sports.sh

~/scripts/play_recently_added.sh
    
por 14.07.2013 / 11:48
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, você pode copiá-la de lá ... Eu só digo isso porque eu frequentemente esqueço cópias que podem estar em outras máquinas, então Eu suponho que você já tenha tentado isso.

Se o seu arquivo é muito personalizado para simplificar a reconstrução, você pode sempre tentar uma análise forense de baixo nível. Experimente procurar por tutoriais baseados em sleuthkit e no UFS Explorer. As pessoas que usam essas ferramentas encontram graus variados em termos de facilidade de uso e taxas de sucesso, como de costume, YMMV.

    
por 04.02.2010 / 20:35
1

O Ugh não pode postar um comentário sobre a pergunta original, mas um colega de trabalho acabou de me mostrar uma ótima ferramenta: criar um alias em .profile que você usa para crontab como crontab -i . O sinalizador -i pede confirmação antes de excluir.

Portanto, se você usar crontab -e , ele continuará a editar como de costume, mas se você acidentalmente crontab -r for recebido com um prompt de confirmação.

    
por 10.04.2013 / 20:32
0

Eu não penso assim. É hora de começar a fazer o backup deste importante arquivo (com todos os outros em / etc / var / spool / home ...).

    
por 04.02.2010 / 19:35

Tags