
개요
서버 관리를 하다 보면 특정 작업을 정해진 시간에 자동으로 실행해야 할 때가 있습니다.
예를 들어, 매일 밤 12시에 데이터베이스 백업을 실행하거나, 매주 일요일마다 로그 파일을 정리하는 등의 작업이 있습니다. 리눅스에서는 이런 반복 작업을 자동화할 수 있는 'crontab'이라는 편리한 도구를 제공합니다.
crontab이란❓
crontab은 리눅스/유닉스 시스템에서 제공하는 작업 스케줄러로, 특정 시간이나 주기적으로 실행해야 하는 작업을 자동화할 수 있게 해주는 도구입니다.
기본 문법
crontab의 기본 문법은 다음과 같습니다.
* * * * *
분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)
분(0~59)을 설정. *을 설정한 경우 1분 단위로 실행
시간(0~23)을 설정. *을 설정한 경우 매시간 실행
일(1~31)을 설정. *을 설정한 경우 매일 실행
월(1~12)을 설정. *을 설정한 경우 매달 실행
요일(0~7)을 설정. *을 설정한 경우 월요일부터 일요일까지 매일 실행
- 분: 0-59
- 시: 0-23
- 일: 1-31
- 월: 1-12
- 요일: 0-6 (0은 일요일)
주요 옵션
1. 작업 목록 확인
crontab -l
2. 작업 편집하기
crontab -e
3. 모든 작업 삭제
crontab -r
자우 사용하는 예시 알아보기
1. 매일 특정시간에 실행
# 매일 오후 2시에 실행
0 14 * * * /scripts/daily-backup.sh
2. 매주 특정 요일에 실행
# 매주 일요일 자정에 실행
0 0 * * 0 /scripts/weekly-cleanup.sh
3. 정기적인 간격으로 실행
# 10분마다 실행
*/10 * * * * /scripts/check-service.sh
주의 사항
- 절대 경로 사용하기
- 명령어와 스크립트는 항상 절대 경로를 사용해야합니다.
- 상대 경로를 사용하면 예상치 못한 문제가 발생할 수 있습니다.
- 권한 확인하기
- 실행할 스크립트의 실행 권한을 확인해야 합니다.
- 필요한 디렉토리와 파일에 대한 접근 권한 또한 확인해야합니다.
결론
crontab은 시스템 관리자에게 없어서는 안 될 중요한 도구입니다.
반복적인 작업을 자동화함으로써 시간을 절약하고 실수를 줄일 수 있습니다. 하지만 강력한 만큼 신중하게 사용해야 합니다. 잘못 설정된 cron 작업은 시스템에 부담을 주거나 예상치 못한 문제를 일으킬 수 있기 때문입니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.02.14 - 리눅스 : umask 명령어란❓ (0) | 2025.02.14 |
---|---|
[TIL, 일일 회고] 2025.02.13 - 리눅스 파일 접근 권한 이해하기 (0) | 2025.02.13 |
[TIL, 일일 회고] 2025.02.11 - ORDER BY의 숫자의 의미 (0) | 2025.02.11 |
[TIL, 일일 회고] 2025.02.10 - API와 Endpoint 차이점 알아보기 (0) | 2025.02.10 |
[TIL, 일일 회고] 2025.02.09 - MySQL : CONCAT_WS로 문자열 손쉽게 결합하기 (0) | 2025.02.09 |

개요
서버 관리를 하다 보면 특정 작업을 정해진 시간에 자동으로 실행해야 할 때가 있습니다.
예를 들어, 매일 밤 12시에 데이터베이스 백업을 실행하거나, 매주 일요일마다 로그 파일을 정리하는 등의 작업이 있습니다. 리눅스에서는 이런 반복 작업을 자동화할 수 있는 'crontab'이라는 편리한 도구를 제공합니다.
crontab이란❓
crontab은 리눅스/유닉스 시스템에서 제공하는 작업 스케줄러로, 특정 시간이나 주기적으로 실행해야 하는 작업을 자동화할 수 있게 해주는 도구입니다.
기본 문법
crontab의 기본 문법은 다음과 같습니다.
* * * * *
분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)
분(0~59)을 설정. *을 설정한 경우 1분 단위로 실행
시간(0~23)을 설정. *을 설정한 경우 매시간 실행
일(1~31)을 설정. *을 설정한 경우 매일 실행
월(1~12)을 설정. *을 설정한 경우 매달 실행
요일(0~7)을 설정. *을 설정한 경우 월요일부터 일요일까지 매일 실행
- 분: 0-59
- 시: 0-23
- 일: 1-31
- 월: 1-12
- 요일: 0-6 (0은 일요일)
주요 옵션
1. 작업 목록 확인
crontab -l
2. 작업 편집하기
crontab -e
3. 모든 작업 삭제
crontab -r
자우 사용하는 예시 알아보기
1. 매일 특정시간에 실행
# 매일 오후 2시에 실행
0 14 * * * /scripts/daily-backup.sh
2. 매주 특정 요일에 실행
# 매주 일요일 자정에 실행
0 0 * * 0 /scripts/weekly-cleanup.sh
3. 정기적인 간격으로 실행
# 10분마다 실행
*/10 * * * * /scripts/check-service.sh
주의 사항
- 절대 경로 사용하기
- 명령어와 스크립트는 항상 절대 경로를 사용해야합니다.
- 상대 경로를 사용하면 예상치 못한 문제가 발생할 수 있습니다.
- 권한 확인하기
- 실행할 스크립트의 실행 권한을 확인해야 합니다.
- 필요한 디렉토리와 파일에 대한 접근 권한 또한 확인해야합니다.
결론
crontab은 시스템 관리자에게 없어서는 안 될 중요한 도구입니다.
반복적인 작업을 자동화함으로써 시간을 절약하고 실수를 줄일 수 있습니다. 하지만 강력한 만큼 신중하게 사용해야 합니다. 잘못 설정된 cron 작업은 시스템에 부담을 주거나 예상치 못한 문제를 일으킬 수 있기 때문입니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.02.14 - 리눅스 : umask 명령어란❓ (0) | 2025.02.14 |
---|---|
[TIL, 일일 회고] 2025.02.13 - 리눅스 파일 접근 권한 이해하기 (0) | 2025.02.13 |
[TIL, 일일 회고] 2025.02.11 - ORDER BY의 숫자의 의미 (0) | 2025.02.11 |
[TIL, 일일 회고] 2025.02.10 - API와 Endpoint 차이점 알아보기 (0) | 2025.02.10 |
[TIL, 일일 회고] 2025.02.09 - MySQL : CONCAT_WS로 문자열 손쉽게 결합하기 (0) | 2025.02.09 |