cron을 언제 사용하면 좋을까?
- 자동 백업
- ex) 매일 특정 시각에 mysqldump로 백업을 한다면, 쉘 스크립트를 실행하도록 해서 자동 백업을 한다.
cron 표현식
- 각 필드는 공백으로 구분된다.
필드 | 값 | 와일드카드 |
분 | 0 ~ 59 | ,-*/ |
시간 | 0 ~ 23 | ,-*/ |
일 | 1 ~ 31 | ,-*?/LW |
월 | 1 - 12 또는 JAN - DEC | ,-*/ |
Day of week | 1 - 7 또는 SUN - SAT | ,-*?L# |
연도 | 1970 ~ 2199 | ,-*/ |
crontab 설정 형식
- #은 주석 처리 할때 사용
- 필드에 *를 사용하면, 해당 필드의 모든 시간에 실행한다.
- 분에 *가 있으면, 매 분마다 실행
- 시간에 *가 있으면, 매 시간마다 실행
- ,를 사용하면 여러 시간과 날짜를 지정
- 특정 기간을 지정할 때 -를 사용
- 실행할 명령어는 일반 명령어 또는 사용자가 작성한 쉘 스크립트 등이 된다.
- ex) * * * * * ls
- 매 분마다 ls 명령어를 실행
- ex) * * * * * ls
실습) cron을 이용해서 매 분마다 날짜를 터미널 창에 출력해보았다.
1. nncronlt117.exe를 다운받았다.
https://www.nncron.ru/download.shtml
2. C:\Program Files (x86)\cron\cron.tab을 수정한다.
* * * * * C:\Users\my\Documents\date_and_time.bat
메모장으로연후에 실행할 bat 파일이 있는 경로를 넣어주었다.
3. 스케줄링으로 실행할 date_and_time.bat 파일을생성한 후에 날짜를 출력하도록 작성한다.
@echo off
echo %date% %time%
실행 결과
매 분마다 새로운 터미널이 열리면서 날짜와 시간이 출력된다.
같은 터미널에서 날짜와 시간이 매 분마다 기록되게 하고 싶으면
- 해당 터미널의 프로세스 아이디를 알아야 한다.
- 해당 터미널에 시간을 전달해준다.
- 터미널을 refresh해준다.
참고 👇👇👇
https://decdream08.tistory.com/67
https://asiatica-aramid.tistory.com/4
https://www.lesstif.com/1stb/cron-18219614.html
반응형
'Linux' 카테고리의 다른 글
[Ubuntu] MySQL 자동 백업 설정 (2) | 2024.07.23 |
---|---|
[Ubuntu] Docker MySQL 설치 (0) | 2024.04.23 |
Ubuntu에서 OpenJDK 제거 (0) | 2024.01.23 |