cron.service 파일을 찾을 수 없습니다

cron.service 파일을 찾을 수 없습니다

내 백업 스크립트는 수동으로 실행하면 제대로 작동하지만 crontab은 아무것도 실행하지 않습니다. 저는 Fedora 35 워크스테이션을 실행하고 있습니다.

crontab 편집기 작동 방식:

$ crontab -e

cron 데몬이 실행되고 있지 않습니다. 다음 명령은 각각 출력을 생성하지 않습니다.

$ pgrep cron
$ pgrep crond
$ pidof cron
$ pidof crond

cron을 시작하려고 합니다.

$ whereis cron
cron: /usr/share/man/man8/cron.8.gz
$ whereis crond
crond: /usr/sbin/crond /usr/share/man/man8/crond.8.gz
$ sudo service cron start
Redirecting to /bin/systemctl start cron.service
Failed to start cron.service: Unit cron.service not found.
$ sudo systemctl start cron
Failed to start cron.service: Unit cron.service not found.

cron 대신 cronie를 사용해 보았습니다.

$ sudo dnf install cronie
Package cronie-1.5.7-3.fc35.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
$ sudo systemctl enable cronie.service
Failed to enable unit: Unit file cronie.service does not exist.
$ sudo systemctl start cronie.service
Failed to start cronie.service: Unit cronie.service not found.

또한 anacron("cronie.service")은 이전에 설치된 경우 Fedora 시스템 업그레이드 후에도 유지되지만 놀랍게도 새로 설치하는 경우 적어도 Fedora Server 35에는 설치되지 않습니다.

답변1

이 명령을 사용하는 경우:

# systemctl start crond.service

그러면 시스템은 재부팅 후에도 해당 정보를 유지합니다. 따라서 이 작업을 수행하는 것을 기억할 필요가 없습니다!

또한 상태를 확인하려면 다음을 사용하세요.

# systemctl status crond.service

마지막으로 #은 물론 루트 계정을 의미하므로 적절하게 sudo를 사용하거나 사용하지 마십시오.

답변2

Cron은 ajgringo619가 게시한 crond 위치를 사용하여 백업 스크립트를 실행했습니다.

$ ls -l /usr/sbin/crond 
-rwxr-xr-x. 1 root root 74448 Jul 21 15:05 /usr/sbin/crond
$ sudo /usr/sbin/crond start
$ pgrep cron
121692

답변3

스크립트는 상대 경로 및/또는 셸 환경 컨텍스트를 사용하여 리소스를 사용/호출할 수 있습니다.

Cron은 쉘 및 환경 컨텍스트 없이 스크립트를 실행합니다.

다음 사용자로 스크립트를 실행해 보세요 nobody.

  sudo -u nobody <your-scirpt-full-path>

사용자와 함께 스크립트를 실행 nobody하면 cron.

bash현재 쉘 환경 컨텍스트를 스크립트에 삽입하는 일반적인 기술:

  sed -i "2i source $HOME/.bash_script" <your-scirpt-full-path>

답변4

우분투에서는 다음 명령을 사용하십시오

sudo service cron start

관련 정보