su:必须从终端运行

Svi*_*ish 6 su debian terminal

我试图为我的 Minecraft 服务器设置计划备份。我使用了在 GitHub 上的frdmn/minebackup.sh上找到的脚本,当我直接从终端运行它时,它似乎运行良好。

但是,由于某种原因,我设置的 cronjobs 不起作用。在邮件中,我收到以下错误消息:

Hexxit 服务器正在运行,正在暂停保存... su:必须从终端运行
su:必须从终端运行
su:必须从终端运行
done
备份 hexxit-01... done
总备份大小(175 MiB ) <= (5000 MiB)... done
Hexxit Server 正在运行,重新启用保存... su:必须从终端运行
su:必须从终端运行
done

主要问题似乎是su: must be run from a terminal,我认为这与服务器上的安全问题有关,而不是脚本,所以这就是我在这里问的原因。

它或多或少是一个新安装的 Debian 7.1.0 x64 实例,上面有一个用户,mc. 如何修复它以便此脚本成功运行?

cronjobs 看起来像这样,并已添加使用 crontab -e

*/15 * * * * /usr/bin/minebackup backup
0 0 * * * /usr/bin/minebackup backup full
Run Code Online (Sandbox Code Playgroud)

我一直在四处寻找,我觉得我需要编辑/etc/sudoers,但是我应该注释掉的那行甚至不在文件中,所以我不知道 Debian 是否更改了它的默认值或……嗯?

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

root    ALL=(ALL:ALL) ALL

%sudo   ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d
Run Code Online (Sandbox Code Playgroud)

Dou*_*oug 0

尝试使用 visudo 编辑 /etc/sudoers 并注释掉:

Defaults    requiretty
Run Code Online (Sandbox Code Playgroud)