无法使用 crontab 挂载文件系统 (sshfs)

无法使用 crontab 挂载文件系统 (sshfs)

我有一个 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'

askubuntu 上的这个问题

答案1

我想你会在帖子中找到答案 在 FreeBSD 9.0 上通过 Cron 调用时安装 fuse sshfs 失败

事实证明,$PATH 环境变量是导致此问题的原因。修改上面的脚本,将 PATH 设置与 shell 相同,现在它可以正常工作:

 PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/‌​root/bin"

 export PATH 

我想教训是永远不要对最小的 Cron 环境做出任何假设。

相关内容