리눅스 작업 예약 스케줄러 (crontab)

eomprgrm·2023년 4월 12일
0

cron이란

시스템에서 주기적으로 실행되어야 하는 작업을 스케줄링하는 데에 사용되는
유닉스 기반의 시간 작업 스케줄러

crontab 파일의 위치

/etc/crontab
- 관리자가 직접 지정한 작업들을 설정하여 사용하는 곳
/etc/cron.d
- 소프트웨어 패키지를 설치할 때 필요한 주기적인 작업을 등록하여 사용하는 곳
/var/spool/cron
- 시스템 개별 사용자를 위한 crontab 파일 위치이며, 일반적으로 root 계정용 한 개와 사용자당 한 개의 파일을 가진다.

crontab 사용

1. crontab 파일 열기

crontab -e

위 명령어를 실행하면 현재 사용자의 crontab 파일이 열리고, 작업을 추가하거나 편집할 수 있다.

2. crontab 형식

* * * * * command

첫 다섯 개의 (*)은 실행 시간을 나타낸다. (분, 시간, 일, 월, 요일)
마지막 (command) 필드는 실행할 명령어를 나타낸다.

3. 작업 추가

# 매일 오전 7시 30분 백업
30 7 * * * /home/user/script/backup.sh

위 코드에서 "30 7 * * *"은 매일 오전 7시 30분을 뜻하며,
"/home/user/scripts/backup.sh"는 실행할 명령어를 뜻한다.

4. 로그 남기기

* * * * * /home/user/script/test.sh > /home/user/script/test.sh.log 2>&1

매 분마다 crontab을 사용하여 /home/user/script/test.sh 스크립트를 실행하고 실행 결과를 /home/user/script/test.sh.log 파일에 저장하는 예시이다.
">"는 표준 출력을 지정된 파일로 리다이렉션 하는 역할을 하며, "2>&1"은 표준 에러를 표준 출력과 같은 파일로 리다이렉션 하는 역할을 한다.

profile
오늘의 학습을 기록하는 공간

0개의 댓글