티스토리 뷰
728x90
반응형
이름
crontab - 사용자의 개별 crontab 파일 관리
사용법
crontab [ -u 사용자ID ] 파일
crontab [ -u 사용자ID ] { -l | -r | -e }
설명
crontab 명령은 Vixie Cron 패키지에 있는 cron(8) 데몬을 사용해서 목록들을 설치(지정), 삭제, 또는 목록보기 등을할
수 있는 풀그림이다. 각 사용자는 자신의 crontab 파일을 가질 수 있고, 이 파일들은 /var 디렉토리 안에 있게 된 다.
하지만, 그 파일을 직접 편집할 수는 없다.
/etc/cron.allow 파일이 있으면, 그 파일 안에 자신의 ID가 있어야 이 명령을 사용할 수 있으며, allow 파일이 없고,
/etc/cron.deny 파일이 있으면, 그 파일 안에 자신의 ID가 없어야 이 명령을 사용할 수 있다. 이 두 파일이 없 다 면,
site-dependent(?) 환경설정 인자에 따라, 시스템 관리자만 사용할 수 있거나, 아니면, 모든 사용자가 이 명령을사용할
수 있다.
-u 옵션이 사용되면, 그 옵션의 인자로 지정된 사용자의 crontab 파일이사용되며, 이 옵션을 사용하지 않으면, 자신 의
crontab 파일이 사용된다. su(8) 명령이 사용될 경우에는 -u 옵션 없이 이 명령을 사용하면, crontab 파일 선택에 혼
돈이 있을 수 있다. 그러므로, su(8) 명령을 사용하고 있을 때는, 항상 -u 옵션을 사용하는 것이 안전하다.
이 명령의 가장 기본적인 사용방법은 crontab 파일로 쓰일 파일 이름을 명령행 인자로 사용해서, 그것을 설치(지정) 하
는 것이며, 이때, 파일 이름이 지정되지 않으면, 표준 입력이나, 파이프를동한 이전 명령의 출력을 그 입력으로 한다.
-l 옵션은 현재 crontab 내용을 표준 출력으로 보여준다.
-r 옵션은 현재 crontab 내용을 지운다.
-e 옵션은 VISUAL 또는 EDITOR 환경 변수에 지정된편집기로 현재 crontab 내용을 편집한다. 편집을 해서, 저장하고 끝
내면, 그 바뀐 crontab 내용이 자동으로갱신된다.
관련 항목
crontab(5), cron(8)
crontab(5), cron(8)
파일
/etc/cron.allow
/etc/cron.deny
표준
crontab 명령은 IEEE Std1003.2-1992 (‘‘POSIX’’) 기준과 일치한다. 이 새로은 문법은옛날 SVR3 문법을 따르는 Vixie
Cron 이전의 버전의 것과 차이가 있다.
검사
명령행 사용법이 틀릴 경우에는 그 사용법을 비교적 자세히 알려주는 메시지가나타난다. 그것을 참조하도록.
crontab?
예약된 작업 리스트
작업 예약 입력,수정,삭제
예약된 작업 리스트 비움
작업 입력 형식
ex]
[PHP 파일 Crontab 설정]
** * * * wget http://www.xxx.com/aa.php
(웹파일 PHP파일실행)
* * * * * /usr/local/bin/php -e /home/aa.php
(로컬 PHP파일실행, php=>php바이너리 파일을 의미)
TIP
Crontab에서 PHP를 실행 할때 PHP소스 상의 include경로는 물리적인 경로로 입력해 준다.
ex)require("/home/nalsee/nalsee/include/common.html");
2. Test Shell 파일 작성
4. 실행 결과 확인
crontab - 사용자의 개별 crontab 파일 관리
사용법
crontab [ -u 사용자ID ] 파일
crontab [ -u 사용자ID ] { -l | -r | -e }
설명
crontab 명령은 Vixie Cron 패키지에 있는 cron(8) 데몬을 사용해서 목록들을 설치(지정), 삭제, 또는 목록보기 등을할
수 있는 풀그림이다. 각 사용자는 자신의 crontab 파일을 가질 수 있고, 이 파일들은 /var 디렉토리 안에 있게 된 다.
하지만, 그 파일을 직접 편집할 수는 없다.
/etc/cron.allow 파일이 있으면, 그 파일 안에 자신의 ID가 있어야 이 명령을 사용할 수 있으며, allow 파일이 없고,
/etc/cron.deny 파일이 있으면, 그 파일 안에 자신의 ID가 없어야 이 명령을 사용할 수 있다. 이 두 파일이 없 다 면,
site-dependent(?) 환경설정 인자에 따라, 시스템 관리자만 사용할 수 있거나, 아니면, 모든 사용자가 이 명령을사용할
수 있다.
-u 옵션이 사용되면, 그 옵션의 인자로 지정된 사용자의 crontab 파일이사용되며, 이 옵션을 사용하지 않으면, 자신 의
crontab 파일이 사용된다. su(8) 명령이 사용될 경우에는 -u 옵션 없이 이 명령을 사용하면, crontab 파일 선택에 혼
돈이 있을 수 있다. 그러므로, su(8) 명령을 사용하고 있을 때는, 항상 -u 옵션을 사용하는 것이 안전하다.
이 명령의 가장 기본적인 사용방법은 crontab 파일로 쓰일 파일 이름을 명령행 인자로 사용해서, 그것을 설치(지정) 하
는 것이며, 이때, 파일 이름이 지정되지 않으면, 표준 입력이나, 파이프를동한 이전 명령의 출력을 그 입력으로 한다.
-l 옵션은 현재 crontab 내용을 표준 출력으로 보여준다.
-r 옵션은 현재 crontab 내용을 지운다.
-e 옵션은 VISUAL 또는 EDITOR 환경 변수에 지정된편집기로 현재 crontab 내용을 편집한다. 편집을 해서, 저장하고 끝
내면, 그 바뀐 crontab 내용이 자동으로갱신된다.
관련 항목
crontab(5), cron(8)
crontab(5), cron(8)
파일
/etc/cron.allow
/etc/cron.deny
표준
crontab 명령은 IEEE Std1003.2-1992 (‘‘POSIX’’) 기준과 일치한다. 이 새로은 문법은옛날 SVR3 문법을 따르는 Vixie
Cron 이전의 버전의 것과 차이가 있다.
검사
명령행 사용법이 틀릴 경우에는 그 사용법을 비교적 자세히 알려주는 메시지가나타난다. 그것을 참조하도록.
crontab?
예약된 작업을 실행하는 파일
예약된 작업 리스트
]#/usr/bin/crontab -l
작업 예약 입력,수정,삭제
]#/usr/bin/crontab -e
예약된 작업 리스트 비움
]#/usr/bin/crontab -r
작업 입력 형식
[분] [시] [일] [월] [요일] [실행명령] [>|>>출력지정] (tab 또는 스페이스로 구분)
ex]
30 * * * * /usr/local/apache/htdocs2/start_cms2.sh
(매 시간 30분마다 작업을 수행하고 결과는 출력하지 않는다)
45 */3 * * 1-5 /usr/local/apache/htdocs2/tart_cms.sh > /dev/console
(월~금요일 매 3시간 45분에 작업을 수행하고 결과는 화면에 출력한다)
(월~금요일 매 3시간 45분에 작업을 수행하고 결과는 화면에 출력한다)
* * * 3-5 * /usr/local/apache/htdocs2/tart_cms.sh >> /usr/local/apache/htdocs2/cms.log
(3월~5월까지 매시간 매분에 작업을 수행하고 결과는 cms.log파일에 추가한다)
* * * * * mysqlbackup.sh
(매 분)
[PHP 파일 Crontab 설정]
** * * * wget http://www.xxx.com/aa.php
(웹파일 PHP파일실행)
* * * * * /usr/local/bin/php -e /home/aa.php
(로컬 PHP파일실행, php=>php바이너리 파일을 의미)
TIP
Crontab에서 PHP를 실행 할때 PHP소스 상의 include경로는 물리적인 경로로 입력해 준다.
ex)require("/home/nalsee/nalsee/include/common.html");
crontab 실행 확인
]#cat /var/log/cron
crontab 시작 및 중지
]#/etc/rc.d/init.d/crond start{restart | stop}
[비고]
]#/etc/cron.allow : 허용할 사용자 ID 목록
]#/etc/cron.deny : 거부할 사용자 ID 목록
crontab을 저장하게 되면 "/var/spool/cron" 디렉토리에 사용자 별로 파일이 생성된다.
서버이전시 해당 파일을 복사해서 사용해되 된다.
[실습]
1. crontab 데몬 확인
]# ps -ef | grep crond
2. Test Shell 파일 작성
]# vi crontab_test.sh
#!/bin/sh
echo "Crontab Testing..."
"/home"에 저장
3. Crontab 등록#!/bin/sh
echo "Crontab Testing..."
"/home"에 저장
]# /usr/bin/crontab -e
* * * * * /home/crontab_test.sh >> /home/cron_log
(매 1일 crontab_test.sh을 실행하고 결과를 /home/cron_log에 저장한다.(로그 파일이 없을 경우 자동생성됨)
* * * * * /home/crontab_test.sh >> /home/cron_log
(매 1일 crontab_test.sh을 실행하고 결과를 /home/cron_log에 저장한다.(로그 파일이 없을 경우 자동생성됨)
4. 실행 결과 확인
]#vi /home/cron_log
cron_log에 "Crontab Testing..."문자가 기록되어 있으면 Crontab 실행이 정상적이라는 것을 확인 할 수 있다.
cron_log에 "Crontab Testing..."문자가 기록되어 있으면 Crontab 실행이 정상적이라는 것을 확인 할 수 있다.
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- REST API
- 스프링 시큐리티(spring security)
- java-개발 환경 설정하기
- jsp 오픈 소스
- jstl(java standard tag library)-core
- 상품 등록
- 스프링 시큐리티(spring security)-http basic 인증
- error-java
- await
- .submit()
- 제품 등록
- java 키워드 정리
- System.Diagnostics
- MainActor
- In App Purchase
- system.io
- 스프링 프레임워크(spring framework)
- 인텔리제이(intellij)
- 람다식(lambda expression)
- nl2br
- 표현 언어(expression language)
- java.sql
- 특정 문자를 기준으로 자르기
- 진수 변환
- 메이븐(maven)
- 문자 자르기
- React
- jstl(java standard tag library)
- java web-mvc
- 스프링 프레임워크(spring framewordk)
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함