데비안에 오신 것을 환영합니다. 더 이상 cron을 사용하지 않습니다.

데비안에 오신 것을 환영합니다. 더 이상 cron을 사용하지 않습니다.

SE.com에서 cronjob, crontab 및 cron 작업 일정을 변경하는 방법에 대한 많은 게시물을 읽었습니다. 하지만 내 데비안 환경에서는 세션 정리 작업이 단순히 "php"라고 예약되고 /etc/cron.d에 존재하며 루트를 사용자로 지정하고 현재 30분마다 실행되는 것 같습니다.재부팅하지 않으면 일정을 변경할 수 없습니다..

cat /etc/cron.d/php

반품:

9,39 8-20     * * *     root   [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean 2>>/dev/null; fi

/etc/init.d/cron restart에도 불구하고 내가 변경한 시간/분 변경 사항은 고려되지 않습니다. 프로덕션 서버에 있으므로 호스트를 쉽게 다시 시작할 수 없거나 실험용으로 사용할 수 있습니다.

crond에게 일정 변경을 고려하도록 명령을 내릴 수 있나요?

답변1

데비안에 오신 것을 환영합니다. 더 이상 cron을 사용하지 않습니다.

M. Kitt의 말이 맞습니다. Stack Exchange는 질문당 하나의 질문을 선호하지만 이 경우 두 질문 모두 근본적인 실수에서 비롯됩니다.귀하는 크론 작업을 실행하고 있다고 잘못 생각하고 있습니다.

이전 크론 작업 설명에서 본 것처럼 크론 작업은자기 비활성화시스템에서 systemd가 실행되는 것을 볼 수 있기 때문입니다.

… && 만약에[ ! -d /run/systemd/system ];그런 다음... ;Phi

/etc/cron.d/php그건 그렇고, 이것은 비공식적이지 않습니다. 그 설치방법은데비안 PHP-공통 패키지. 실행 중인 항목도 동일한 패키지에서 설치됩니다.바꾸다해당 크론 작업:

오늘날 점점 더 많은 데비안 패키지에서 이 패턴을 찾을 수 있습니다. cron 작업은 systemd 장치로 대체되고 systemd가 실행되는 동안에만 자체적으로 비활성화됩니다.

따라서 cron 테이블에서 일정을 조정해도 아무런 효과가 없습니다. (쉘 명령의 실행 시간을 변경하는 것 외에는)아무것도 하지 않았다예정). 마찬가지로 cron 테이블에 환경 변수를 설정해도 아무런 효과가 없습니다. 타이머 단위에서 스케줄을 변경하고, 서비스 단위에서 환경변수를 변경해야 합니다.

systemctl cat자세한 내용은 이 답변의 범위를 벗어나지만 시스템 단위, 단위 재정의 파일 및 systemctl status및 명령을 간략하게 이해해야 합니다 systemctl edit.

추가 읽기

관련 정보