su:必须从终端运行

su:必须从终端运行

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

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

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

主要问题似乎是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

我已经搜索了一段时间,我觉得我需要编辑/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

答案1

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

Defaults    requiretty

相关内容