我在 Ubuntu 12.04 上运行服务器。我尝试执行的操作是git clone
,作为我正在实施的新备份系统的一部分。源和目标都是本地的,因此克隆不涉及任何网络活动。
该服务器托管 Minecraft,我希望能够在服务器运行时在后台执行此类操作。但是,每次我尝试这样做时,它都会锁定服务器并踢出所有人,尽管我尽了最大努力限制对资源使用的影响。
这是我确信可以起作用的命令:
nice -n 19 ionice -c 3 git clone bukkit backup
据我所知,这应该会为该进程提供最低的 CPU 优先级和“仅空闲”磁盘优先级。但是,它仍然具有锁定和超时所有连接到 Minecraft 服务器的用户的相同效果。需要明确的是,git 存储库不在活动服务器文件夹中,因此不存在任何类型的文件访问冲突。
如果需要的话我可以提供有关硬件规格的详细信息。谢谢。
答案1
我们主要不会尝试并行运行这些进程,但我们会发现系统的使用率在哪个时间尽可能小,
因此首先您必须找出服务器上没有(或者可能只有少数)用户的时间,例如星期一下午 2 点。
要将来运行该命令一次,可以使用 atd(at-daemon):
$ at 0200 monday
/home/your_home/name_of_the_script.sh
<Ctrl-D>
有关详细信息,请阅读man at
并man atd
务必使用Ctrl+退出输入D
- 确保您的脚本有效+可执行!