인생이 쓰다!인생쓰

개발/Server

Crontab 설정

Johnal 2024. 11. 16. 20:29
반응형

 

 

 

안녕하세요. 인생씁니다.

오늘은 Crontab에 대해서 알려드리려고 합니다.

서버를 관리하고 확인하는데 꼭 필수한 설정이라고 생각합니다.

어느 특정시점이나 시간에 맞춰서 동작해야되는 스크립트나 명령어가 있다면 crontab을 사용하시면 됩니다.

 


 

Cron/ Crontab이란?

cron은 백그라운드에서 실행되는 데몬(Daemon)입니다.

주기적으로 지정된 작업을 실행하도록 스케줄링하는 기능을 제공합니다.

사용자의 작업(crontab)을 주기적으로 확인하고, 설정된 시간에 해당 작업을 실행합니다.

cron 데몬은 시스템 부팅 시 시작되며 계속 실행 중입니다.

 

 

crontab은 사용자가 실행할 작업을 스케줄링하는 설정 파일 또는 명령어입니다.
각 사용자는 자신만의 crontab 파일을 가지고 있으며, cron 데몬이 이를 참조하여 작업을 실행합니다.
crontab 파일의 내용을 편집하거나 확인하기 위해 crontab 명령어를 사용합니다.

 

즉 cron은 시스템 서비스이며 crontab은 스크립트를 사용하기 위한 명령어 모음집이라고 생각하면 됩니다.

저는 crontab을 일주일마다 안내메일을 발송하기 위해서 이번에 사용했는데요

어떻게 설정하고 어떻게 진행되는지 같이 확인해보시죠.

 


 

Crontab설정

crontab 파일의 각 줄은 예약된 작업을 나타내며, 서버에서 다음과 같은 형식으로 작성합니다.

 

 

분 시 일 월 요일 명령어

 

0~59
0~23
1~31
1~12
요일 (0과 7은 일요일) 0~7
명령어 명령어 및 스크립트

 

-예시-

1.매일 오후 8시 20분에 실행:

 

20 20 *  *  * 명령어/스크립트

 

2.매주 월요일 오전 1시에 실행

 

0 1 *  * 1  명령어/스크립트

 

 

 

생각보다 간단하죠? 순서만 잘 알고 설정하면 어렵지 않습니다.ㅎㅎ

 

 

이제는 서버에 어떤식으로 입력하는지 보시죠

먼저 서버에서 crontab을 열려면 명령어를 사용해서 여시면 됩니다.

 

-현재 crontab 파일 열기

crontab -e 

 

-현재 crontab 확인

 crontab -l

 

-현재 crontab 설정 전체 삭제

crontab -r

 

-crontab 사용시 로그남기기

0 1 *  * 1  명령어/스크립트  echo "System alart" >> /var/log/test.log

 

crontab - e를 사용해서 작성화면을 보시면 vi나 nano 와 같이 편집하고 작성할 수 있습니다.

그리고 로그도 남기면서 crontab이 정상적으로 돌아갔는지 확인도 가능합니다.

그리고 꼭 systemctl restart cron 남겨서 재시작해서 crontab이 적용되게끔 해주세요. 

 

 


 

 

 

오늘 알려드릴 내용은 여기까지입니다. ㅎㅎ 

내용을 보고 잘 쓰시면 좋겠습니다.

부족한 부분이 있다면 방명록이나 댓글로 알려주시면 추가적으로 작성해놓겠습니다.

감사합니다.!! 모두 화이팅입니다.!

 

 

728x90
반응형