Debian cron 작업이 올바르게 작동하지 않습니다.

Debian cron 작업이 올바르게 작동하지 않습니다.

crontab저는 Debian 12를 실행 중이며 정기적으로 Artifactory 저장소에서 일부 파일을 검색하기 위해 Python 스크립트를 실행하는 데 사용하려고 합니다 .

user 아래의 별도 사용자 계정에서 이 작업을 실행하고 있습니다 www. 나는 다음을 사용하여 crontab을 편집했습니다.crontab -e

명령은 다음과 같습니다:

# Cron
0 * * * *  /path/to/py/venv/python3 /path/to/py/script.py && chown -R user:group /path/to/resource

# Command
/path/to/py/venv/python3 /path/to/py/script.py && chown -R user:group /path/to/resource

sudo journalctl -u cron작업을 기반으로 실행되는 것 같았습니다. 또한 0 * * * * date >> ~/clock.txt테스트로 별도의 작업을 만들었습니다 . 둘 다 실행 중인 것 같았습니다(?). 그러나 파일을 검색해야 하는 Python 스크립트는 내가 설정한 디렉터리에 새로운 내용을 쓰지 않았습니다(날짜와 시간은 변경되지 않았습니다).

명령을 복사하여 붙여넣는 방법으로 직접 실행해 보았는데 잘 작동하고 새 파일이 작성되었습니다. 스크립트를 올바르게 실행하려면 cron에 특별한 것이 필요합니까?

답변1

표준 권장 사항은 스크립트에 명령을 추가하고 홈 환경 세트를 추가하는 것입니다.

#!/usr/bin/bash

source /path/to/your/home/directory/.bashrc
/path/to/py/venv/python3 /path/to/py/script.py && chown -R user:group /path/to/resource

다음과 같이 크론을 생성합니다.

0 * * * *  /path/to/above/script

bash다른 쉘을 사용하는 경우 파일 이름(관련)을 변경하십시오.

관련 정보