脚本无法通过 crontab 运行,但可以独立运行

脚本无法通过 crontab 运行,但可以独立运行

第一个在这个论坛上发帖 :) 我已经看到了在论坛上,但如果 crontab 启动脚本,它会给出错误。(它可以独立运行。)

这是我的脚本。 是日志。

这是我的 crontab:

* * * * * /bin/bash /home/steam/arma3/restart.sh >> /home/steam/arma3/logs/checkonserv.log 2>&1

“无法找到错误”已修复,但文件arma3server无法执行。

答案1

此类脚本经常会遇到bashvs.sh调用问题。简而言之,crontab默认为文件中明确的内容:

SHELL=/bin/sh

而你的 shell 可能正在运行bash调用。

我建议:

  1. #!/bin/bash在脚本顶部添加(如果这是所选的 SHELL)
  2. 明确地添加/bin/bash到 crontab 行中,如下所示:

    * * * * * /bin/bash /home/steam/arma3/restart.sh >> /home/steam/arma3/logs/crontabcheck 2>&

如果错误仍然存​​在,请提供更新。

答案2

好的,我找到了一个解决方法:

  • 让你的脚本进入无限循环
  • 在脚本结束时等待 1 分钟(睡眠 1 分钟)
  • 使用屏幕执行脚本

答案3

永远不要假设 cron 的工作方式与手动运行相同。如果您希望在 cron 中运行脚本,请确保脚本完全根据需要设置其环境,并使用要运行的命令的完整路径。

相关内容