Eu estava tentando editar o crontab no terminal e digitei acidentalmente em crontab -r
vez de crontab -e
. Quem imaginaria que um comando tão perigoso se sentasse ao lado da carta para editar o crontab? Além disso, ainda estou tentando descobrir como crontab -r
não pede sua confirmação?
Independentemente da minha falta de credibilidade de como isso é possível, minha pergunta é: sou capaz de recuperar o crontab perdido?
centos
cron
scheduling
Miguel Mesquita Alfaiate
fonte
fonte
etckeeper
.Respostas:
Você pode encontrar seus trabalhos cron no log se ele tiver sido executado anteriormente. Verifique
/var/log/cron
.Você não possui nenhuma opção de recuperação além das ferramentas de recuperação de terceiros.
fonte
grep
com-o
ou emsed
/awk
/cut
/ etc para extrair apenas o comando e, em seguida, emsort -u
.awk '$5 ~ "^CROND" && $6 == "(username)" { print }' /var/log/cron | sort -t ' ' -k 8
mostrará as entradasusername
classificadas por comando, o que facilitará a visualização dos intervalos entre elas, para que você possa recriar suas agendas.Não tenho certeza, é possível recuperar
crontab
arquivos sem backup. Mas tenho certeza de que você pode restaurar seucrontab
arquivo a partir decron
logs. Tanto quanto me lembro, rápido todos os comandos estão listados lá com o usuário.fonte
Se você se lembrar de uma linha específica, poderá aguardar o dispositivo inteiro para encontrar seus dados de volta, com a condição de que nenhum outro dado os substitua. Isso funciona para qualquer arquivo.
Ajuste -B (antes) e -A (depois) para o tamanho do arquivo, mas 100 linhas ao redor 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ê precisará limpar a bagunça binária antes e depois dos dados no arquivo resultante.
E leva muito tempo. Boa sorte.
Você também pode consultar esta resposta: Recuperar / excluir arquivos excluídos | Troca de pilha Unix e Linux
fonte