我正在运行 Ubuntu 服务器 12.04 LTS。经过多次尝试和错误,我选择的备份策略是使用 TAR(主要是因为我找不到将 dovecot 邮箱备份/恢复到存档而不是将其镜像到另一台服务器的工具)。
计划是在备份进行时尽可能短地关闭服务。
我猜最敏感的服务是 apache2、php 和 mysql,因为它们是网页可用性所必需的。Postfix、mailman 和 dovecot 可以关闭更长时间,因为等待它们几分钟并不重要。
我的问题是:
我需要按照什么顺序来关闭服务?
我如何找到那些互相依赖的?
例如,我认为最好在 php 或 mysql 之前关闭 apache,这样 Web 服务器就完全不可用,而不是向访问者显示奇怪的东西。
那么 dovecot、mailman、postfix、bind 呢?它们依赖 mysql 吗?它们需要其他服务吗?
如果我想执行快照该怎么办?
- 我如何关闭所有不重要的正在运行的服务并稍后重新启动它们? 这样做的目的是尽可能减少备份期间对磁盘的写访问。
编辑:服务器托管在世界某处。我只能通过 ssh 访问它。
答案1
不要依赖依赖系统,因为它可能会在未来的更新中发生变化。
正确的做法是更改运行级别,然后进入单用户模式初始化序列(官方 MAN 链接)。系统将按照正确的顺序为您终止服务。
打开虚拟终端(++ CTRL
)并使用或(最后一个优先)获取 root 权限。在您成为 root(“#”)后,执行:ALT
Fn
su
sudo su
telinit 1
或者
telinit S
如果 telinit 失败,您也可以直接使用 init。
此过程将终止任何“额外”服务防止过多的磁盘访问并让您成为唯一的活跃用户,这是您所需要的。
替代,更长的程序是重新启动系统并从 GRUB 使用名为 Recovery 的相应菜单选项访问单用户模式(Recovery 单用户模式将挂载启用了只读标志的文件系统,您稍后需要重新挂载它们)。完成维护或备份后,执行telinit 3
以返回多用户模式;所有已注册的多用户守护程序都将重新启动。
如果您还有其他问题,请在此处发表评论,如果我有任何帮助,请不要忘记按左上箭头。祝您
有美好的一天。