我的 cron 遇到问题(Debian Bullseye - Raspberry Pi 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 会话,并且我从未见过我的 python 脚本在 htop 中运行。
如果这很重要,我的 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"
然而,我再次没有看到 python 脚本在 htop 中运行。
感谢您的帮助。