삭제 된 crontab을 복구하는 방법


11

터미널에서 crontab을 편집하려고했지만 실수로 crontab -r대신 입력 했습니다 crontab -e. crontab을 편집하기 위해 편지 바로 옆에 위험한 명령이 누가 있을지 누가 ​​알겠습니까? 또한, 나는 여전히 crontab -r당신에게 확인을 요청 하지 않는 방법을 알아 내려고 노력하고 있습니까?

이것이 어떻게 가능한지에 대한 신뢰성의 부족에 관계없이 내 질문은 : 잃어버린 crontab을 복구 할 수 있습니까?


정보를 제공하기 위해 crontab -r은 프롬프트없이 crontab을 제거하고 crontab -i는 확인을 요청합니다.
Raman Sailopal

@RamanSailopal 정보를 주셔서 감사합니다. -e와 -r이 서로 (적어도 qwerty에) 옆에 있다는 사실을 고려하면 정말 위험합니다 ...
Miguel Mesquita Alfaiate

1
이런 것들이 내가 사용하는 이유 중 하나 etckeeper입니다.
David Foerster

2
백업에서 복원
PiedPiper

@PiedPiper 백업에 해당 파일이 있으면 문제가되지 않습니다. 홈 폴더가 백업되었지만이 루트 크론 탭이 아닙니다.
Miguel Mesquita Alfaate,

답변:


7

cron 작업이 한 번 실행 된 경우 로그에서 찾을 수 있습니다. 확인하십시오 /var/log/cron.

타사 복구 도구 이외의 복구 옵션이 없습니다.


내가 빠진 것이 없는지 어떻게 확인할 수 있습니까? 주간 또는 월간 작업이 있으면 어떻게됩니까? 지난 달 초까지 줄을 서서 좀 덜 일반적인 cronjob이 실행되고 있는지 확인해야합니까?
미구엘 메스 퀴타 Alfaiate

지난 한 달 동안 한 줄씩 가야한다고 생각합니다. 죄송합니다
모하메드 Sherief

"라인 별"필요가 없습니다. 사용 grep중 하나에 -o또는에 파이프 sed/ awk/ cut단지 명령을 추출 / 등, 다음에 파이프 sort -u.
Patrick

3
일정이 매일 또는 매주가 아닌 경우에도 일정을 해결하려면 줄을 따라 가야합니다. 같은 뭔가 awk '$5 ~ "^CROND" && $6 == "(username)" { print }' /var/log/cron | sort -t ' ' -k 8에 대한 항목이 표시됩니다 username당신이 자신의 일정을 다시 만들 수 있도록 쉽게 그들 사이의 간격을 볼 수 있도록해야 명령으로 분류를.
James Sneeringer

확실히 마법 인 @JamesSneeringer! 그것을 위해 엄지 손가락!
Miguel Mesquita Alfaate,

2

확실하지 않습니다 crontab. 백업없이 파일 을 복구 할 수 있습니다. 그러나 로그 crontab에서 파일을 복원 할 수 있다고 확신합니다 cron. 내가 기억하는 한 모든 명령은 사용자와 함께 빠르게 나열됩니다.


2

특정 줄을 기억하면 다른 데이터를 덮어 쓰지 않은 상태에서 전체 장치를 grep하여 데이터를 다시 찾을 수 있습니다. 이것은 모든 파일에서 작동합니다.

grep -a -B100 -A100 "command/you remember" /dev/sda1 > /tmp/cron.ressurected

-B (efore) 및 -A (fter)를 파일 크기로 조정하십시오. 그러나 cron 파일에는 100 줄 정도면 충분합니다. grep이 장치를 텍스트로 간주하도록하려면 -a 매개 변수가 필요합니다.

그런 다음 결과 파일에서 데이터 전후에 이진 엉망을 정리해야합니다.

그리고 시간이 많이 걸립니다. 행운을 빕니다.

이 답변을 참조 할 수도 있습니다. 삭제 된 파일 삭제 취소 / 복구 | 유닉스 및 리눅스 스택 교환

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.