crontab 실행 옵션 중 -r은 현재 설정된 크론탭을 삭제한다.
개발서버는 그래도 괜찮겠지만 운영서버에서 크론탭을 삭제해버리면 꽤 곤란하다. 실시간으로 계속 수행하는 작업이 있다면 장애로 이어질 수 있을 뿐만 아니라, 깐깐한 이는 책임소재를 묻기 위해 시스템 로그를 다 확인하는 지난한 작업도 개의치 않는다.
그리고 실수할 때의 손은 무조건 눈보다 빠르기 때문에 인지했을 때는 이미 늦어있을 것이다.
혹시 크론탭을 날려도 바로 복구할 수 있도록 백업을 해두는 것이 좋다.
백업 방법은 간단하다. 백업 스크립트를 생성해서 크론탭에 등록하면 된다.
방법
1. 백업 스크립트 작성
#!/bin/bash
DATE=`date +%Y-%m-%d`
USER="$(id -un)"
crontab -l > $backup_crontab/backup_crontab_${USER}_${DATE}.out
크론탭의 목록을 파일로 저장하는 스크립트다.
크론탭은 사용자마다 다르게 등록할 수 있다. 따라서 날짜와 사용자를 구분하여 백업할 수 있도록 한다.
2. 크론탭에 등록
crontab -e
# 10 0 * * * /backup_crontab/backup_crontab.sh
날짜 별로 구분하기 때문에 하루에 한 번만 백업을 수행하도록 설정한다.
주기 결정은 필요에 따라 조절하도록 한다.