crontab에서 HOME 변수를 사용하면 작업이 중단됩니다.

crontab에서 HOME 변수를 사용하면 작업이 중단됩니다.

동일한 디렉터리에서 일부 명령을 실행하는 많은(100개 이상의) 작업이 포함된 이 crontab 파일이 있습니다 ~/Documents/. cron 변수를 사용하여 위에서 언급한 각 작업 대신 cron 작업 디렉터리를 변경할 cd ~/Documents/ && <command>수 있습니다.HOME인간 크론탭 5(이 사실을 최근에야 알게 되었습니다.)

그러나 crontab에서 설정하면 다음과 같습니다.

PATH="/usr/local/bin:/usr/bin:/bin"
HOME=/home/user/Documents

모든 작업이 갑자기 cd ~/Documents/작동을 멈췄습니다. 경로가 마지막 백슬래시 유무에 관계없이 인용되는 경우에도 마찬가지입니다.

많은 시행착오를 겪은 후에는 ~문서에 대한 절대 경로를 입력하면 완벽하게 작동하기 때문에 이것이 작동하지 않는다는 것을 알 수 있습니다(확장되지 않는 것 같아요). 을 추가해 보았습니다 SHELL=/bin/bash.

나는 그러한 모든 작업에 대해 이전 버전과의 호환성을 유지하여 하나씩 편집하고 테스트하고 명령에 ~가 있는 다른 작업을 중단하고 싶지 않습니다. 어떡해?

답변1

다음 HOME=/home/user/Documents으로 설정하면 실패할 수 있습니다 .cd ~/Documentscd /home/user/Documents/Documents

참조 문서 어디에도 없다는 점을 지적하고 싶습니다(man 5 crontab) "라고 되어 있나요?cron HOME변수는 cron 작업 디렉토리를 변경하는 데 사용될 수 있습니다.".

결론적으로? 변하지 마세요$HOME

관련 정보