리눅스 쉘 스크립트 실전 예제 Part 8: 자동화 예약 실행
정기 백업, 로그 정리, 디스크 감시… 매번 수동으로 하지 마세요. 크론(cron)으로 예약 실행하면 반복 작업이 자동화됩니다.
1. cron을 이용한 정기 백업 스케줄링
용도: 매일 오전 2시에 /home 디렉토리를 tar로 백업하는 작업을 예약합니다.
0 2 * * * tar -czf /backup/home_$(date +\%Y\%m\%d).tar.gz /home
설명:
- 0 2 * * *: 매일 오전 2시 실행
- $(date)의 %는 crontab에서 이스케이프 처리 필요
- 백업 파일은 날짜별로 저장됩니다.
2. 주간 로그 정리 스크립트 예약
용도: 매주 일요일 새벽 3시에 로그 파일을 삭제하거나 압축하는 스크립트를 실행합니다.
0 3 * * 0 /usr/local/bin/clean_logs.sh
설명:
- * * 0: 0은 일요일
- 스크립트 내부에서 find + -mtime 등을 활용하여 오래된 로그 정리
- 로그 파일은 사전 백업 후 삭제 권장
3. 디스크 감시 스크립트 매일 실행
용도: 디스크 사용률을 체크하고 임계치 초과 시 메일 또는 슬랙으로 알리는 감시 스크립트를 매일 실행합니다.
30 1 * * * /usr/local/bin/disk_monitor.sh
설명:
- 매일 오전 1시 30분 실행
- 이전 파트에서 소개한 df, mail 명령을 활용한 감시 스크립트
4. 자동 삭제 스크립트 월 1회 실행
용도: /tmp, /log 등 불필요한 파일을 한 달에 한 번 정기적으로 정리합니다.
0 4 1 * * /usr/local/bin/auto_cleanup.sh
설명:
- 매월 1일 새벽 4시 실행
- find 명령으로 *.bak, *.tmp, 오래된 로그 등을 정리
- 대상과 조건을 echo로 사전 점검 추천
5. 스크립트 실행 결과 로그 저장
용도: 모든 예약 실행 결과를 파일로 저장하여 오류 추적 및 운영 이력을 관리합니다.
0 1 * * * /usr/local/bin/task.sh >> /var/log/task.log 2>&1
설명:
- >>: 표준 출력을 로그 파일에 append
- 2>&1: 오류 출력도 동일하게 로그로 저장
- crontab 명령에서 반드시 전체 경로를 지정하는 것이 안전합니다
마무리 안내
자동화 예약은 서버 운영의 핵심입니다. crontab -e로 개인 또는 시스템 계정별로 설정할 수 있으며, 각 작업의 실행 여부는 로그를 통해 정기 점검하는 것이 좋습니다. 백업, 정리, 감시 등 반복 작업은 모두 예약으로 바꿔보세요.
실무에 바로 적용할 수 있는 리눅스 쉘 스크립트 예제, 스마트베이에서 함께합니다.
비즈니스 효율을 높이는 스마트한 IT 솔루션을 제공합니다.
웹사이트 : www.esmartbay.co.kr
E-mail : smartbay.svc@gmail.com
카카오톡 : 바로 상담하기
'서버 & 리눅스 실무팁' 카테고리의 다른 글
| 리눅스 쉘 스크립트 실전 예제 Part 10: 파일 분석 및 리포트 자동화 (0) | 2025.06.14 |
|---|---|
| 리눅스 쉘 스크립트 실전 예제 Part 9: 원격 파일 연동 (0) | 2025.06.14 |
| 리눅스 쉘 스크립트 실전 예제 Part 7: 중복 및 무결성 검사 (0) | 2025.06.14 |
| 리눅스 쉘 스크립트 실전 예제 Part 6: 권한 및 보안 관리 자동화 (0) | 2025.06.14 |
| 리눅스 쉘 스크립트 실전 예제 Part 5: 디스크 용량과 감시 자동화 (0) | 2025.06.14 |