
Eu estava tentando editar o crontab no terminal e digitei acidentalmente crontab -r
em vez de crontab -e
. Quem imaginaria que um comando tão perigoso ficaria ao lado da carta para editar o crontab? Além disso, ainda estou tentando descobrir como crontab -r
não pede confirmação?
Independentemente da minha falta de credibilidade sobre como isso é possível, minha pergunta é: consigo recuperar o crontab perdido?
Responder1
Você pode encontrar seus cron jobs no log se ele já tiver sido executado antes. Verificar /var/log/cron
.
Você não tem nenhuma opção de recuperação além de ferramentas de recuperação de terceiros.
Responder2
Se você se lembrar de uma linha específica, poderá executar o grep em todo o dispositivo para recuperar seus dados, desde que nenhum outro dado os substitua. Isso funciona para qualquer arquivo.
grep -a -B100 -A100 "command/you remember" /dev/sda1 > /tmp/cron.ressurected
Ajuste -B(efore) e -A(fter) ao tamanho do seu arquivo, mas 100 linhas devem ser suficientes para um arquivo cron. O parâmetro -a é necessário para forçar o grep a considerar seu dispositivo como texto.
Você terá então que limpar a bagunça binária antes e depois dos dados no arquivo resultante.
E isso leva muito tempo. Boa sorte.
Você também pode consultar esta resposta:Recuperar / recuperar arquivos excluídos | Troca de pilha Unix e Linux
Responder3
Não tenho certeza, é possível recuperar crontab
arquivos sem backup. Mas tenho certeza de que você pode restaurar seu crontab
arquivo a partir cron
dos logs. Pelo que me lembro, rapidamente todos os comandos estão listados lá com o usuário.