
크론에 문제가 있습니다(데비안 불스아이 - 라즈베리 파이 4)Bash 스크립트에서 tmux 세션을 시작하는 대신 @reboot에서 실행되도록 두었습니다.
이것은 내 bash 스크립트의 문제가 있는 조각입니다.
pythonPATH="/usr/bin/python"
serverPATH="/opt/Hyxer_Chat/HyxerChat_Server.py"
consolePATH="/opt/Hyxer_Chat/Chat_Console"
tmuxPATH="/usr/bin/tmux"
"$tmuxPATH" -S "$consolePATH" new -d "$pythonPATH" "$serverPATH"
chown :kubaroot "$consolePATH"
chmod 664 "$consolePATH"
스크립트를 수동으로 실행하면 완벽하게 작동합니다., 다음과 같이: bash /opt/myscript.sh
이 문서에 설명된 대로 모든 파일 및 프로그램에 대한 모든 경로가 절대 경로인지 확인했습니다.스택 오버플로 링크
내가 겪고 있는 문제는 cron이 내 스크립트의 이 부분을 건너뛰는 것 같다는 것입니다. echo "Hello!" > /opt/hello.txt
cron이 실제로 bash 스크립트 전체를 실행했는지 확인하기 위해 코드에 몇 줄을 추가했는데 실제로 실행되었습니다. Pi를 재부팅한 후 hello.txt 파일에 항상 만족하지만 tmux 세션이 생성되지 않고 htop에서 실행되는 Python 스크립트도 볼 수 없습니다.
중요하다면, 내 Python 스크립트는 지속적으로 실행되어야 하며 채팅 서비스 서버인 것처럼 네트워크를 모니터링해야 합니다. 내 홈 네트워크에서 Pi의 로컬 주소에 연결할 수 없으면 종료됩니다.
이것은 내 crontab 구성입니다.
@reboot /bin/bash /opt/Hyxer_Chat/run.sh
이 문제의 원인은 무엇입니까? 또한 tmux 라인에 주석을 달고 다음과 같이 스크립트를 실행해 보았습니다.
pythonPATH="/usr/bin/python"
serverPATH="/opt/Hyxer_Chat/HyxerChat_Server.py"
"$pythonPATH" "$serverPATH"
그러나 다시 htop에서 실행되는 Python 스크립트가 표시되지 않습니다.
당신의 도움을 주셔서 감사합니다.