안녕하세요. 인생씁니다.
오늘은 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이 적용되게끔 해주세요.
오늘 알려드릴 내용은 여기까지입니다. ㅎㅎ
내용을 보고 잘 쓰시면 좋겠습니다.
부족한 부분이 있다면 방명록이나 댓글로 알려주시면 추가적으로 작성해놓겠습니다.
감사합니다.!! 모두 화이팅입니다.!
'개발 > Server' 카테고리의 다른 글
HTTP Content-Security-Policy 보안 컨텐츠 정책 설정 - 취약점 검사 (1) | 2024.11.15 |
---|---|
쿠키 Secure , HttpOnly 속성 누락 - 취약점 검사 (1) | 2024.11.09 |
쿠키 SameSite 속성 누락 - 취약점 검사 (4) | 2024.11.07 |