일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TO_DATE
- eGov
- sql
- javascript
- json
- 개념
- 암호화
- Oracle
- Java
- 과정평가형
- JVM
- 태그
- 함수
- CSS
- was
- POI
- select
- spring
- array
- eGovFramework
- Ajax
- input
- jQuery
- web.xml
- controller
- html
- 오류
- 배열
- Database
- mybatis
- Today
- Total
web developer
[Linux] cron 작업 스케줄러 사용법 본문
(1) cron, crontab 차이
- cron: 이 용어는 UNIX 계열 운영체제에서 시간 기반 작업 스케줄링을 담당하는 데몬(백그라운드 서비스)을 의미합니다. cron 데몬은 백그라운드에서 실행되며, 설정된 시간에 특정 작업을 자동으로 수행합니다.
- crontab: 이 용어는 cron 테이블(cron table)의 줄임말로, 사용자가 시간 기반 작업을 스케줄링하기 위해 사용하는 파일 또는 명령어를 의미합니다. crontab 명령어를 사용하여 작업 스케줄을 추가, 삭제, 수정할 수 있습니다.
원격 서버에서 크론 작업이 추가되어 있는지 확인하는 방법은 간단합니다. crontab -l 명령어를 사용하여 현재 사용자에 대한 크론 작업 목록을 확인할 수 있습니다. 이 명령어는 해당 사용자의 모든 크론 작업을 출력합니다.
(2) 크론 작업 목록 확인
- Putty를 통해 원격 서버에 접속:
- Putty를 열고 원격 서버에 접속합니다. 접속하는 방법은 원격 서버의 IP 주소와 사용자 이름을 입력하고 비밀번호를 입력하는 것입니다.
- 크론 작업 목록 확인:
- 접속 후, 터미널에 다음 명령어를 입력하여 크론 작업 목록을 확인합니다:
crontab -l |
$ crontab -l
# Edit this file to introduce tasks to be run by cron.
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# m h dom mon dow command
0 2 * * * /path/to/deploy_war.sh
만약 no crontab for truefeel (설정한 적이 없어 아직 비어있다) 이 뜨면, 다음과 같이 크론을 설정하면 됩니다.
(3) 크론 사용법
1. crontab이란?
crontab은 원하는 시간에 특정 작업을 실행하게 하는 텍스트 파일입니다. 이 crontab에 작성된 파일을 찾아서 cron이라는 시스템의 데몬이 작성된 일정대로 작업을 실행하게 됩니다. 주기적이고 반복적인 작업에 많이 사용합니다.
1-1. crond가 실행되고 있는지 확인
ps -ef | grep crond |
1-2. crontab의 작업 목록 확인 : 등록되어 있는 crontab 목록이 출력된다.
crontab -l |
1-3. crontab 편집 : 텍스트 편집기가 실행되고 에디터를 통해 설정을 변경 할 수 있다.
편집을 위해서는 root 권한이 필요합니다. 만약 root권한이 없다면 sudo를 붙여주면 된다. (sudo crontab -e)
수정 후 wq(저장하고 나가기)를 입력하고 빠져나오면 바로 적용이 됩니다. (q!는 저장하지 않고 나오기)
crontab -e |
※ crontab 파일이 없다면 새로 만듭니다.
1-4. crontab 삭제 : 예약된 작업이 모두 삭제 됩니다.
crontab -r |
2. 작업 스케줄 설정하기
작업 스케줄의 설정 형식은 minute(분) hour(시간) day(일) month(월) weekday(요일)로 설정한다.
* * * * * 명령어 |
- minute(분) : 0 ~ 59
- hour(시간) : 0 ~ 23
- day(일) : 1 ~ 31
- month(월) : 1 ~ 12
- weekday(요일) : 0 ~ 7 (0과 7은 일요일, 1(월요일) ~ 6(토요일)
3. 작업 스케줄 예제
crontab을 작성할때는 줄바꿈이 들어가면 안됩니다.
1분 마다 실행
* * * * * sh /root/test/test.sh |
30분 마다 실행
*/30 * * * * sh /root/test/test.sh |
매일 4시 30분 마다 실행
30 4 * * * sh /root/test/test.sh |
매월 1일 2시 0분에 실행
0 2 1 * * sh /root/test/test.sh |
매년 1월 1일 2시 0분에 실행
0 2 1 1 * sh /root/test/test.sh |
매주 월요일 0시 0분에 실행
0 0 * * 1 sh /root/test/test.sh |
출처 : https://hyo-s.tistory.com/81
출처 : https://miniweb4u.tistory.com/147
'Linux' 카테고리의 다른 글
[Linux] JEUS 자바 버전 확인 (0) | 2024.10.24 |
---|