cronatab 정기 작업 스케줄러

WBOY
发布: 2024-06-13 18:49:11
原创
154명이 탐색했습니다.

cronatab 정기 작업 스케줄러

주기적인 작업을 수행하고 서비스가 실행 중인지 확인합니다. 서비스 이름은 crond입니다. service crond start; systemctl start crond;

프로필

/etc/crontab

크론 로그 파일

고양이 /var/log/cron

소개

crond는 Linux에서 특정 작업을 주기적으로 수행하거나 특정 이벤트 처리를 기다리는 데 사용되는 데몬 프로세스입니다. Windows의 예약된 작업과 유사하며 이 서비스 도구는 기본적으로 설치되며 자동으로 시작됩니다. crond 프로세스는 1분마다 실행할 작업이 있는지 정기적으로 확인하여 실행할 작업이 있으면 자동으로 실행합니다.

작업 일정 분류

Linux의 작업 스케줄링은 시스템 작업 스케줄링과 사용자 작업 스케줄링의 두 가지 범주로 나뉩니다.

시스템 작업 스케줄링: 캐시된 데이터를 하드 디스크에 쓰기, 로그 정리 등 시스템이 주기적으로 수행하는 작업입니다. /etc 디렉토리에는 시스템 작업 스케줄링을 위한 구성 파일인 crontab 파일이 있습니다.

시스템 작업 예약

구성 파일 /etc/crontab을 편집하여 필요한 실행 시간을 다음 그림 형식으로 표시합니다. 한 줄은 하나의 작업에 해당하며, 형식은 아래와 같습니다.
cronatab 정기 작업 스케줄러

사용자 작업 예약

현재 사용자 아래에서 crontab -e 명령을 사용하여 현재 사용자로 작업 일정을 만듭니다. 시스템 작업 예약 파일 형식과 달리 실행할 사용자를 지정할 필요가 없습니다.
cronatab 정기 작업 스케줄러

시간 표시

값 지정: 특정 숫자를 지정하세요

범위 값: *는 매회를 의미하며 이 기간 동안 작업을 한 번 실행합니다.

이산 값: 10 2, 3, 4 * * * 2시, 3시, 4시에 10분마다 한 번씩 실행됩니다. (총 3번 실행)

연속 범위: 10 2-10 * * * 매일 2:10부터 10:10까지 실행(총 8회 실행)

단계 범위: /3 * * ; 분당 3번 실행됩니다(즉, 20초마다 한 번 실행됨)

예:

10 10 /6 * * 6일마다 10시 10분에 작업을 실행합니다

날짜 및 주

10 10 1-10 * 0,6 #매월 1~10일 10시 10분, 토요일, 일요일 10시 10분에 실행

예:

1 1 /6 * root echo "hello word " ; 6일마다 1:01에 작업을 실행합니다.

1 1-10/3 * * * 매일 1-10시 범위 내에서 3시간마다 첫 번째 1분에 루트 에코 "hello word"가 실행됩니다

반복 작업 만들기

crontab -e

* * * * * /bin/echo "`날짜 +%F %H:%M:%S`"

#명령어는 절대 경로를 작성해야 합니다. 변수가 표시되지 않는 한

#사용자 아래에 새 crontab을 생성하면 %를 이스케이프해야 합니다

생성 시 기타 설정

주기적인 작업을 생성할 때 기본 편집기는 vi이므로 구문 강조가 없습니다. 다음 방법을 통해 기본 편집기를 vim으로 변경할 수 있습니다

#/etc/porfile.d에 쓰면 모든 사용자에게 적용됩니다

#현재 사용자에게 ~/bash_profile 쓰기

내보내기 EDITOP=vim

작업 생성 권한

특정 사용자가 작업을 생성하도록 허용

cat /etc/cron.deny #새 작업을 생성할 수 없지만 생성된 작업은 계속 실행되도록 파일에 사용자 이름을 기록합니다

지정된 사용자의 작업 생성 거부

cat /etc/cron.allow # 기본 파일이 존재하지 않습니다

우선순위 허용 및 거부

허용 파일이 존재하는 경우 거부 파일은 적용되지 않습니다.

허용이 비어 있으면 모든 사용자를 거부합니다

허용도 거부도 없으면 어떤 사용자도 예약된 작업을 생성할 수 없습니다

밀리초 및 두 번째 수준에서 주기적인 작업을 실현

usleep을 사용하여 미묘한 수준의 작업을 달성하세요

1000000초 동안 잠을 자세요

1000초 동안 잠을 자세요

1 마이크로초

두 번째 레벨을 달성하려면 루프 바디와 수면을 사용하세요. 1분마다 실행되는 작업 동안 20초 동안 슬립합니다.
cronatab 정기 작업 스케줄러

위 내용은 cronatab 정기 작업 스케줄러의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

来源:linuxprobe.com
본 웹사이트의 성명
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!