【问题标题】:Shell script not running as crontab, but runs manuallyShell 脚本不作为 crontab 运行,而是手动运行
【发布时间】:2020-09-10 17:31:33
【问题描述】:

我有一个脚本可以在 Raspberry Pi 4 上启动我的 Minecraft 服务器。由于我的备份实用程序,它必须在 GNU 屏幕中运行。我已经尝试指定一个路径,它作为一个进程显示在日志中,但它没有运行。

我非常感谢您对此提供的帮助,因为我的搜索历史记录非常完整,试图找到问题,但没有任何效果。 Bash脚本如下:

#! /bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
cd /home/pi/Desktop/Servers/PvP
screen -S pvp java -Xmx2560M -Xms2560M -jar server.jar nogui

我的 crontab 如下。我在这个条目下面有一个新行,所以不是那个

00 03 * * * ./start.sh

我已尝试指定完整路径,但也不起作用

编辑: 我还创建了 restart.sh ,它只是调用 stop.sh 和调用 start.sh stop.sh 很简单

killall screen

然后调用 start.sh。整个restart.sh脚本也很简单

./stop.sh
./start.sh

我把它放在我的 crontab 中并开始了一个屏幕会话。低,当我设置工作开始时,屏幕终止了。然后我输入screen -ls,希望看到由start.sh 创建的新创建的窗口,但它没有运行。它超出了我为什么这不起作用。如果手动完成,一切正常,请帮助这是我的头!啊啊啊!

【问题讨论】:

  • 这能回答你的问题吗? Run screen and command crontab
  • 您的脚本在哪里?你知道 cron 用什么 PWD 吗?
  • 它位于我的主目录中。密码返回 /home/pi

标签: java shell cron raspberry-pi minecraft


【解决方案1】:

指定实际完整路径,必须以斜杠开头。例如0 3 * * * /home/username/project/start.sh

【讨论】:

  • 我会尝试,但我怀疑它会起作用,因为它以前没有
猜你喜欢
  • 2011-01-14
  • 2018-10-06
  • 2014-01-02
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
相关资源
最近更新 更多