cron
주기적으로 반복되는 시스템 작업을 예약하는 소프트웨어.
cron과 관련된 서비스(데몬)는 crond이고, 관련 파일은 /etc/crontab이다.
/etc/crontab의 형식은 다음과 같다.
분 시 일 월 요일 사용자 실행명령
00 05 1 * * root cp -r /home /backup
매월 1일 새벽 5시 00분에 예약 작업 실행
네 번째의 *는 매월을 의미한다. 네 번째부터 거꾸로 읽어 예약 일시를 파악한다.
명령어를 통해 /home 디렉터리가 통째로 /backup 디렉터리에 복사된다
주기적으로 실행할 내용을 디렉터리에 넣더 두고 실행할 수 있다.
01 * * * * root run-parts /etc/cron.hourly
매시 1분에 /etc/cron.hourly 디렉터리 안에 있는 모든 명령을 자동으로 실행
run-parts는 디렉터리 안의 모든 명령을 실행하는 명령이다.
실습
'매월 15일 새벽 3시 1분에 /home 디렉터리와 그 하위 디렉터리를 /backup 디렉터리에 백업하도록 예약 작업을 설정하자'
gedit /etc/crontab 명령을 입력해 예약 파일을 gedit 에디터로 편집
매월 15일 새벽 3시 1분에 /etc/cron.monthly 디렉터리 안의 모든 파일 실행 (run-parts)
/etc/cron.monthly/ 디렉터리에 myBackup.sh 생성 후 실행 위해 속성 변경
gedit myBackup.sh 명령으로 편집
현재 날짜를 추출해서 /backup 디렉터리에 /home 디렉터리 전체를 backup-현재날짜.tar.xz라는 파일로 백업하라는 의미
백업용 디렉터리를 생성하고 crond 재시작. 이제 매월 15일마다 /home 디렉터리를 백업한다.
확인을 위해 날짜를 강제로 바꾸고 결과 확인.
at 명령으로 내일 새벽 4시에 시스템을 최신 패키지로 업데이트하고 재부팅하도록 예약하기. 그리고 예약된 내용 삭제하기.
출처: 이것이 리눅스다
'Linux' 카테고리의 다른 글
[Linux] sed 명령어 예시 해석 (0) | 2024.05.13 |
---|---|
[Linux] 정규 표현식 맛보기 grep (0) | 2024.05.13 |
[Linux] 텍스트 처리 (0) | 2024.05.13 |
[Linux] 표준 입출력과 파이프라인 연습 (1) | 2024.05.13 |
[Linux] 네트워크 관련 설정과 명령어 (0) | 2024.05.10 |