주기적인 작업을 수행하고 서비스가 실행 중인지 확인합니다. 서비스 이름은 crond입니다. service crond start; systemctl start crond;
프로필
/etc/crontab
크론 로그 파일
고양이 /var/log/cron
crond는 Linux에서 특정 작업을 주기적으로 수행하거나 특정 이벤트 처리를 기다리는 데 사용되는 데몬 프로세스입니다. Windows의 예약된 작업과 유사하며 이 서비스 도구는 기본적으로 설치되며 자동으로 시작됩니다. crond 프로세스는 1분마다 실행할 작업이 있는지 정기적으로 확인하여 실행할 작업이 있으면 자동으로 실행합니다.
Linux의 작업 스케줄링은 시스템 작업 스케줄링과 사용자 작업 스케줄링의 두 가지 범주로 나뉩니다.
시스템 작업 스케줄링: 캐시된 데이터를 하드 디스크에 쓰기, 로그 정리 등 시스템이 주기적으로 수행하는 작업입니다. /etc 디렉토리에는 시스템 작업 스케줄링을 위한 구성 파일인 crontab 파일이 있습니다.
구성 파일 /etc/crontab을 편집하여 필요한 실행 시간을 다음 그림 형식으로 표시합니다. 한 줄은 하나의 작업에 해당하며, 형식은 아래와 같습니다.
현재 사용자 아래에서 crontab -e 명령을 사용하여 현재 사용자로 작업 일정을 만듭니다. 시스템 작업 예약 파일 형식과 달리 실행할 사용자를 지정할 필요가 없습니다.
값 지정: 특정 숫자를 지정하세요
범위 값: *는 매회를 의미하며 이 기간 동안 작업을 한 번 실행합니다.
이산 값: 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 정기 작업 스케줄러의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!