Linux crontab - 자동화 작업
빨 간 모자 기업 리 눅 스 는 몇 가지 자동화 임 무 를 수행 하 는 도구: cron, at, batch.
37.1. cron
cron 은 시간, 날짜, 달, 요일 의 조합 에 따라 중복 작업 을 수행 할 수 있 는 데 몬 입 니 다.
cron 가정 시스템 이 지속 적 으로 작 동 합 니 다.만약 어떤 임무 가 스케줄 링 되 었 을 때 시스템 이 실행 되 지 않 는 다 면 이 임 무 는 실행 되 지 않 을 것 이다.
cron 서 비 스 를 사용 하려 면 vixie - cron RPM 패 키 지 를 설치 해 야 하고 crond 서 비 스 를 실행 해 야 합 니 다.이 패키지 가 설치 되 어 있 는 지 확인 하려 면 rpm - q vixie - cron 명령 을 사용 하 십시오.이 서비스 가 실행 중인 지 확인 하려 면/sbin/service crond status 명령 을 사용 하 십시오.
37.1.1. cron 퀘 스 트 설정
cron 의 주 프로필 은/etc/crontab 입 니 다. 다음 줄 을 포함 합 니 다.
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
앞의 네 줄 은 cron 작업 실행 환경 을 설정 하 는 변수 입 니 다.SHELL 변수의 값 은 시스템 이 어떤 셸 환경 을 사용 해 야 하 는 지 알려 줍 니 다 (이 예 에서 bash 셸).PATH 변 수 는 명령 을 실행 할 경 로 를 정의 합 니 다.cron 작업 의 출력 은 MAILTO 변수 가 정의 하 는 사용자 이름 으로 보 냅 니 다.MAILTO 변수 가 공백 문자열 (MAILTO = ") 로 정의 되면 이메일 이 보 내지 않 습 니 다.HOME 변 수 는 명령 이나 스 크 립 트 를 실행 할 때 사용 할 홈 디 렉 터 리 를 설정 할 수 있 습 니 다.
/etc/crontab 파일 의 모든 줄 은 하나의 작업 을 대표 합 니 다. 그 형식 은:
minute hour day month dayofweek command
정수 간 의 단선 (-) 은 정수 범 위 를 지정 합 니 다.예 를 들 어 1 - 4 는 정수 1, 2, 3, 4 를 의미한다.
쉼표 (,) 로 구 분 된 일련의 값 으로 목록 을 지정 합 니 다.예 를 들 어 3, 4, 6, 8 은 이 네 개의 지 정 된 정 수 를 표시 한다.
정사 선 (/) 은 간격 주파 수 를 지정 할 수 있 습 니 다.범위 뒤에/< integer > 를 더 하면 범위 내 에서 integer 를 뛰 어 넘 을 수 있 음 을 의미 합 니 다.예 를 들 어 0 - 59/2 는 분 필드 에서 2 분 마다 정의 할 수 있다.간격 주파수 값 은 별표 와 함께 사용 할 수 있다.예 를 들 어 */3 의 값 은 월 필드 에서 3 개 월 에 한 번 씩 작업 을 수행 하 는 것 을 표시 할 수 있 습 니 다.
처음 우물 번호 (\#) 의 줄 은 주석 으로 처리 되 지 않 습 니 다.
/etc/crontab 파일 에서 보 듯 이 run - parts 스 크 립 트 를 사용 하여/etc/cron. hourly,/etc/cron. daily,/etc/cron. weekly 와/etc/cron. monthly 디 렉 터 리 의 스 크 립 트 를 실행 합 니 다. 이 스 크 립 트 들 은 매 시간, 매일, 매주 또는 매달 실 행 됩 니 다.이 디 렉 터 리 의 파일 은 셸 스 크 립 트 일 것 입 니 다.
만약 어떤 cron 작업 이 스케줄 에 따라 실행 되 어야 한다 면, 매 시간, 매일, 매주, 또는 매달 실행 되 는 것 이 아니 라,/etc/cron. d 디 렉 터 리 에 추가 할 수 있 습 니 다.이 디 렉 터 리 의 모든 파일 은/etc/crontab 와 같은 문법 을 사용 합 니 다.
# record the memory usage of the system every monday
# at 3:30AM in the file /tmp/meminfo
30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
# run custom script the first day of every month at 4:10AM
10 4 1 * * /root/scripts/backup.sh
예 37 - 1. crontab 의 예
루트 사용자 이외 의 사용 자 는 crontab 도 구 를 사용 하여 cron 작업 을 설정 할 수 있 습 니 다.모든 사용자 가 정의 하 는 crontab 는/var/spool/cron 디 렉 터 리 에 저장 되 어 있 으 며, 사용자 신분 을 만 드 는 것 으로 실 행 됩 니 다.한 사용자 로 crontab 프로젝트 를 만 들 려 면 이 사용자 로 로그 인 한 다음 crontab - e 명령 을 입력 하고 VISUAL 이나 EDITOR 환경 변수 가 지정 한 편집기 로 사용자 의 crontab 를 편집 합 니 다.이 파일 은/etc/crontab 와 같은 형식 을 사용 합 니 다.crontab 에 대한 변경 사항 이 저장 되면 이 crontab 파일 은 사용자 이름 에 따라 저장 되 고 파일/var/spool/cron/username 에 기 록 됩 니 다.
cron 데 몬 은 매 분/etc/crontab 파일, etc/cron. d/디 렉 터 리, 그리고/var/spool/cron 디 렉 터 리 의 변 화 를 검사 합 니 다.변 화 를 발견 하면 메모리 에 불 러 옵 니 다.이렇게 하면 어떤 crontab 파일 이 바 뀌 면 데 몬 을 다시 시작 할 필요 가 없습니다.
37.1.2. cron 사용 제어
/etc/cron. allow 와/etc/cron. deny 파일 은 cron 에 대한 사용 을 제한 하 는 데 사 용 됩 니 다.이 두 개의 제어 파일 을 사용 하 는 형식 은 모두 줄 마다 사용자 입 니 다.두 파일 모두 빈 칸 을 허용 하지 않 습 니 다.제어 파일 을 사용 하여 수정 되면 cron 데 몬 (crond) 을 다시 시작 할 필요 가 없습니다.제어 파일 을 사용 하면 사용자 가 cron 작업 을 추가 하거나 삭제 할 때마다 읽 습 니 다.
제어 파일 의 규정 을 사용 하 든 루트 사용 자 는 항상 cron 을 사용 할 수 있 습 니 다.
cron. allow 파일 이 존재 한다 면 목록 에 있 는 사용자 만 cron 을 사용 할 수 있 고 cron. deny 파일 은 무 시 됩 니 다.
cron. allow 파일 이 존재 하지 않 으 면 cron. deny 에 열 거 된 모든 사용자 가 cron 을 사용 하지 못 합 니 다.
37.1.3. 서비스 시작 과 정지
cron 서 비 스 를 시작 하려 면/sbin/service crond start 명령 을 사용 하 십시오.이 서 비 스 를 중단 하려 면/sbin/service crond stop 명령 을 사용 하 십시오.안내 할 때 이 서 비 스 를 시작 하 는 것 을 추천 합 니 다.
ZT:http://www.eygle.com/digest/2006/01/hwoto_linux_crontab.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.