我尝试设置我的 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