차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:crontab [2017/03/05 15:02] – [예] V_L | tech:crontab [2024/07/08 00:40] (현재) – V_L | ||
---|---|---|---|
줄 7: | 줄 7: | ||
- 또는 30분간격으로 HDD의 사용량을 운영자에게 알리도록 해야한다면? | - 또는 30분간격으로 HDD의 사용량을 운영자에게 알리도록 해야한다면? | ||
- 매월 초에 자료를 백업 받고 싶다면? | - 매월 초에 자료를 백업 받고 싶다면? | ||
- | |||
crontab -l # 현재 crontab에 등록된 작업보기 | crontab -l # 현재 crontab에 등록된 작업보기 | ||
- | |||
- | |||
crontab -e # crontab 편집하기 | crontab -e # crontab 편집하기 | ||
- | |||
- | |||
시간 설정에서 몇가지 의미있는 것들을 알아보자. | 시간 설정에서 몇가지 의미있는 것들을 알아보자. | ||
줄 24: | 줄 19: | ||
* 2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/ | * 2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/ | ||
- | =====예===== | + | 분 시 일 월 주 실행할 내용 |
+ | 형식이다. | ||
+ | 밑의 예제를 참고하고 원하는 설정 알려주시는 갓양님 사이트 [[https:// | ||
+ | |||
+ | =====예===== | ||
매주 토요일 새벽 2:20 | 매주 토요일 새벽 2:20 | ||
20 2 * * 6 명령어 | 20 2 * * 6 명령어 | ||
- | 매일 오후 4, | + | |
+ | 1 4 * * * 명령어 | ||
+ | |||
+ | 매월 1일 새벽 1시 15분 | ||
+ | 15 1 1 * * 명령어 | ||
+ | |||
+ | | ||
0 4-6 * * * 명령어 | 0 4-6 * * * 명령어 | ||
매일 2시간간격으로 5분대에 | 매일 2시간간격으로 5분대에 | ||
5 */2 * * * 명령어 | 5 */2 * * * 명령어 | ||
- | |||
- | 매월 1일 새벽 1:15 | ||
- | 15 1 1 * * 명령어 | ||
1,7월 1일 새벽 0:30 | 1,7월 1일 새벽 0:30 | ||
줄 48: | 줄 50: | ||
55 11,23 * * * / | 55 11,23 * * * / | ||
+ | # | ||
+ | 33 3 3 */2 * / | ||
+ | ====정기적으로 PHP 실행==== | ||
+ | 52 * * * * wget -p --spider http:// | ||
+ | 매시각 52분에 원격의 php 파일을 실행함. | ||
=====로그===== | =====로그===== | ||
줄 56: | 줄 63: | ||
명령어 뒤에 >> / | 명령어 뒤에 >> / | ||
- | + | 우분투 서버버전에서 crontab 사용해보려고 했는데 /var/log 에 crontab 로그파일이 남겨져 있지 않아서 왜 그런지 찾아보니 기본설정이 로그가 남겨지지 않도록 되어있었다. 다음과 같이 로그 관련 데몬 설정 파일을 수정하고 데몬을 재시작 시켜 주면 | |
- | 우분투 서버버전에서 crontab 사용해보려고 했는데 /var/log 에 crontab 로그파일이 남겨져 있지 않아서 왜 그런지 찾아보니 기본설정이 로그가 남겨지지 않도록 되어있었습니다. 다음과 같이 로그 관련 데몬 설정 파일을 수정하고 데몬을 재시작 시켜 주면 | + | |
sudo vi / | sudo vi / | ||
- | 파일 열어서 crontab 찾아서 코멘트 되어 있는 부분 풀어줍니다. | + | 파일 열어서 crontab 찾아서 코멘트 되어 있는 부분 풀어준다. |
=====기타===== | =====기타===== | ||
- | |||
- | |||
- | 52 * * * * wget -p --spider http:// | ||
- | 매시각 52분에 원격의 php 파일을 실행합니다. | ||
==== cron 설정파일 저장위치==== | ==== cron 설정파일 저장위치==== | ||
줄 74: | 줄 76: | ||
여기 들어가면 각 유저별(유저명) cron 설정파일이 들어있다. 직접 변경하려면 Root 권한 필요. | 여기 들어가면 각 유저별(유저명) cron 설정파일이 들어있다. 직접 변경하려면 Root 권한 필요. | ||
- | |||
==== 필요없는 이메일 알림 없애기==== | ==== 필요없는 이메일 알림 없애기==== | ||
- | 명령을 수행하고 나서 결과를 이메일로 보내려는 시도를 하는데, 귀찮습니다. | + | 명령을 수행하고 나서 결과를 이메일로 보내려는 시도를 하는데, 귀찮다. |
+ | |||
+ | 각 명령어의 끝에 '' | ||
+ | |||
+ | 혹은 | ||
- | 각 명령어의 끝에 '' | + | 맨 위에 |
+ | > MAILTO="" | ||
- | ====필요없는 syslog | + | 추가 |
+ | ====필요없는 syslog ==== | ||
- | / | + | '' |
이 파일을 보면 크론이 실행될 때마다 로그가 쌓이는 것을 볼 수 있다. 별 내용도 없고 꼴보기 싫으니 없애보자. | 이 파일을 보면 크론이 실행될 때마다 로그가 쌓이는 것을 볼 수 있다. 별 내용도 없고 꼴보기 싫으니 없애보자. | ||
- | + | ===rsyslog=== | |
- | / | + | |
파일을 보면 | 파일을 보면 | ||
+ | < | ||
*.*; | *.*; | ||
+ | </ | ||
라는 항목이 있는데 이곳에 cron.none 을 추가하면 된다. | 라는 항목이 있는데 이곳에 cron.none 을 추가하면 된다. | ||
+ | < | ||
*.*; | *.*; | ||
+ | </ | ||
그리고 당연히 디먼 재시작 | 그리고 당연히 디먼 재시작 | ||
sudo service rsyslog restart | sudo service rsyslog restart | ||
+ | ===다른 방법=== | ||
+ | https:// | ||
- | http://www.linuxtopia.org/ | + | < |
- | + | Go to the /etc/pam.d directory. | |
- | + | Open the file common-session-noninteractive in an editor. | |
+ | Look for the following line: | ||
+ | session required | ||
+ | Above this line, add the following: | ||
+ | session | ||
+ | Save the file and exit. | ||
+ | Restart crond using something like service cron restart. | ||
+ | </ | ||