>  기사  >  시스템 튜토리얼  >  Linux 예약 작업이 실행되지 않으면 어떻게 해야 합니까? 이 문서에서는 문제 해결 방법을 설명합니다.

Linux 예약 작업이 실행되지 않으면 어떻게 해야 합니까? 이 문서에서는 문제 해결 방법을 설명합니다.

王林
王林원래의
2024-07-18 10:09:34693검색

Linux 定时任务不执行怎么办?一文教你排查方法

구현된 Linux 예약 작업에는 cron, anacron, at 등이 있지만 일상 업무에서 접하게 되는 것은 cron 서비스입니다. cron은 서비스 이름이고 crond는 백그라운드 프로세스이며 crontab은 사용자 정의된 예약 작업 목록입니다. 예약된 작업은 개별 기능을 구현하기 위해 프로젝트에서 자주 사용됩니다. 최근에는 예약된 작업이 실행되지 않는 상황이 발생했습니다. 이전에는 이에 대해 잘 알지 못했기 때문에 시간이 많이 걸리고 힘들었으며 마침내 문제를 발견했습니다. . 이러한 이유로 앞으로 우회를 피하기 위한 몇 가지 문제 해결 방법을 공유하고 싶습니다.

1. crond 서비스가 실행되는지 확인합니다.

pgrepcrond 또는 /sbin/servicecrondstatus 명령을 통해 crond 프로세스 pid를 볼 수 있으며, crond 서비스가 실행 중인지 확인할 수 있습니다.

2. 크론 서비스가 작동하는지 확인하세요.

linux定时任务不执行_定时执行任务代码_定时执行任务软件

sudotail–f/var/log/cron 명령을 사용하세요

이 로그에 명령이 나타나면 해당 명령이 실행되었음을 의미합니다. 이 단계에 이르렀을 때 로그에 실행 기록이 없다는 것을 발견했습니다. 이는 예약된 작업이 실행되지 않았음을 의미합니다.

linux定时任务不执行_定时执行任务代码_定时执行任务软件

3. 이후에는 왜 실행되지 않았는지 조사해야 합니다.

(1) 스크립트: 스크립트 문제로 인해 crontab이 실행되지 않을 확률이 매우 높으며, 이는 스크립트를 확인하는 것 외에는 다른 방법이 없는 경우도 많습니다. 오류가 보고되었는지 확인하기 위해 자동으로 스크립트를 실행할 수 있습니다.

linux定时任务不执行_定时执行任务软件_定时执行任务代码

자동 실행이 성공했습니다. 환경 변수로 인해 crontab 실행 실패가 발생하는지 확인하세요. 작업의 실행 환경은 현재 사용자 또는 지정된 사용자의 실행 환경입니다. Linux 예약 작업은 실행되지 않습니다. 따라서 코딩 시 Linux 예약 작업은 실행되지 않습니다. . 전체 경로 이름을 사용하거나 참조된 파일을 다음으로 바꾸거나 환경 변수에 명령 경로를 추가합니다.

(2) 시스템 시간이 다르면 예약된 작업이 실행되지 않을 수도 있습니다. 이 경우 시스템 시간을 확인해야 합니다

날짜(보기)

날짜–smm/dd/yy(시스템 시간 수정)

(3) crontab 데몬이 실행되어 프로세스를 다시 시작합니다.

servicecrondrestart

(4) 스크립트 인코딩에 문제가 있습니다.

스크립트는 Linux rar를 창 아래에서 컴파일합니다. Linux로 전송되면 "锘?!/bin/bash"가 보고됩니다. vi 편집기를 사용하여 새 셸 스크립트를 만들고 내용을 입력하고 저장합니다.

(5) 스크립트에 실행 권한이 있는지 확인하세요. 스크립트를 실행하는 사용자에게 수정된 파일을 실행할 수 있는 권한이 있는지 확인해야 합니다.

위 내용은 Linux 예약 작업이 실행되지 않으면 어떻게 해야 합니까? 이 문서에서는 문제 해결 방법을 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.