crontab을 실수로 삭제 복구

종종 예약 된 작업을 편집의 crontab -e를 사용, 두 번째 손 싼 노크 명령의 crontab -r, 슬픈 알림이되었다

사용법 :의 crontab [- U 사용자] 파일 
    의 crontab [ -u 사용자] [-i] {-e | -l | - R} 
        ( 기본 동작이 입니다 당, 대체 1003.2 )
     -e (사용자 편집 ' 의 crontab을) 
    -l (리스트 사용자 ' 의 crontab을) 
    -r (사용자 삭제 ' 의 crontab을)를 
    (-i 프롬프트 사용자 삭제하기 전에 ' 의 crontab을)를

 

그럼 내 본능은, 구글은 신속하게 솔루션 모두의 / var / 로그 / 크론 * 파일 복구를 통해 발견 찾을 수 있지만이 문서 아를 발견하지 않았습니다

내가 메모리에서 여러 작업에 쓸 예정 낙담으로, 다른 사람들이 천천히 누군가 복구 찾기 위해,이 디렉토리하지 않는에서 로그 파일을 가능성이있는 생각을했다

그래서 순간 "크론 '관련 문서에 대한, 내가 글로벌 검색 

sudo를 찾을 수 / --name " * 크론 * "

우리는 매우 큰 소리 파일이 많이 찾을 : "/tmp/crontab.VgsSIK/crontab"

내가 먼저 악수, 15 일전 파일 날짜, 파일을 확인 정력 명령을 쓰러 뜨린, 와우, 내 세계 색으로 돌아왔다,의 crontab 파일은 백업입니다. 파일 15 일전, 또한 충분하지만에 다시 살아 날 수 있도록

 

>>>>>>>>>>>>>>>>>>>>>>>>

위는 어떻게해야하는지, 백업이없는 경우, 로그 파일이 있음에 대한 이야기를 여기, 내 이야기

로그 파일에 따라 복구 :

CAT / var에 / 로그 / 크론 * | 그렙 -i " 사용자 " | 그렙 " CMD를 " | AWK의 -F ' ( '  ' {} 3 인쇄 $. ' | AWK의 -F ' ) '  ' {} 1 인쇄 $. ' | 정렬 -u> crontab_tmp
설명 : 
GREP을 - I "사용자": 다른 사용자가 정보 필터링입니다 
GREP " CMD를을 " : 비 명령 행 필터링 할 필요가있다 
된 awk -F가 ' ( '  ' . {} 3 인쇄 $를 ' :이다 '('구분 . 여기서, 세 번째 요소 추출 결과 "/ 홈 / 스크립트 / check_alive.sh)" 
은 awk -F ' ) '  ' {1} 인쇄 $. " : 세퍼레이터 그대로' '), 제 1 구성 요소를 추출하는 단계를 포함한다. 여기에 결과가 "/ 홈 / 스크립트 /입니다 check_alive.sh는" 
이 시점에서, 우리는 자신의 요구를 명령 추출되었지만, 때문에 트리거의 crontab의 타이밍의 중복이 많이있을 것입니다. 나중에 재 필요가 
정렬 > cmd_tmp 님의 중복 cmd_tmp 파일 출력 후 
이후 다시 명령에 따라 추출 / var에 / / 로그 지정된 방식으로 복원 할 크론 파일 간격을 확인 / VAR/ 스풀 / 크론 /

 

>>>>>>>>>>>>>>>>>>>>>>>의 crontab 백업 스크립트 스케줄
에서 이 문서를 원래 저자에게 감사를 붙여

설명 ⚠️ : 일곱 매일 아침 7 일 전 삭제, 데이터 백업을 crontab에합니다

다음과 같이 스크립트입니다 :

backup_crontab. 

# !는 / usr / 빈 / ENV의 bash는 

BACKUP_DIRECTORY = " $ {HOME} / crontab_backup " 

만약 [! -e " $ {BACKUP_DIRECTORY} " ]; 다음 
        MKDIR - P는 $ {BACKUP_DIRECTORY}
 인터넷 

의 crontab -l> $ {BACKUP_DIRECTORY} / $ ( 날짜  ' + %의 Y %의 m %의 D는 ' ) 된 .txt
 찾을 $ {HOME} / crontab_backup -mtime + 7 -name ' * .txt입니다 ' 간부 RM -rf {} \;

설명 :

위의 스크립트 " 가정을 찾기} {$ / crontab_backup -mtime +7 -name '* .txt 인'-rf RM 간부 {} \; " 로 대체 할 수있다 " } 홈 찾기 {$ / crontab_backup -mtime +7 -name '* .txt 인'| xargs를 RM -rf " .

 

crontab을 예약 된 작업에서 위 스크립트를 수행 할 수

backup_crontab ##
 0  7 * * * CD / 데이터 / siterecoffline && SH backup_crontab. 

 

추천

출처www.cnblogs.com/zhang-can/p/11764139.html