.png)
我有 sh 腳本文件,當使用 - 從命令行運行時可以正常工作
./start.sh
它啟動一個 tomcat 伺服器並使用 sshfs 掛載一個驅動器
但當我這樣做時
crontab -e
@reboot /home/start.sh
那麼只有 apache tomcat 啟動,sshfs 不會掛載,start.sh 檔案是 -
/home/tomcat/apache-tomcat-9.0.71/bin/startup.sh
sleep 20s
sshfs -o password_stdin,allow_other [email protected]:/home/hdd/ /home/hdd/ <<< 'password'
答案1
我想你會在貼文中找到答案 在 FreeBSD 9.0 上由 Cron 呼叫時安裝 fusion sshfs 失敗:
事實證明 $PATH 環境變數是導致此問題的原因。修改上面的腳本,將 PATH 設定為與 shell 相同,現在它可以正常運作:
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin" export PATH
我想教訓是永遠不要對最小的 Cron 環境做任何假設。