如何备份您的VPS:入门简易指南
先决条件
开始之前,请确保您已准备好以下物品:
1. 您的主VPS(您希望备份的那台)
2. 您的备用VPS。备用VPS的存储容量应该等于或最好大于您的主VPS。
3. 两台服务器均可通过 SSH 访问。
4.重要提示:请确保两台服务器上都已安装 rsync。如果尚未安装,您可以使用以下命令进行安装:
– 适用于 CentOS、AlmaLinux 或 Rocky Linux:
sudo yum install rsync -y
– 适用于 Ubuntu 或 Debian 系统:
sudo apt-get update && sudo apt-get install rsync -y
没有备用服务器?我们建议您在 RackNerd 订购另一台 VPS,并选择与主 VPS 不同的数据中心位置。RackNerd 现推出 100 GB 存储空间的 VPS 特惠,仅需 35 美元/年(您可以在订购表格中选择所需的服务器位置): https://my.racknerd.com/cart.php?a =add&pid=874
登录您的VPS
在开始设置过程之前,您需要登录到您的主VPS和备用VPS:
1. 在本地计算机上打开两个独立的终端窗口或 SSH 客户端。
2. 在第一个窗口中,登录到您的主VPS:
ssh root@primary-vps-ip
将 `primary-vps-ip` 替换为您的主 VPS 的 IP 地址。
3. 在第二个窗口中,登录到您的备份VPS:
ssh root@backup-vps-ip
将 `backup-vps-ip` 替换为您的备用 VPS 的 IP 地址。
保持这两个 SSH 会话都处于打开状态。在以下说明中,我们将分别称它们为“主 VPS 窗口”和“备用 VPS 窗口”。
设置 SSH 密钥身份验证
现在,我们将设置 SSH 密钥认证,以便您的主 VPS 无需密码即可连接到您的备份 VPS。这一步至关重要,因为我们接下来要介绍的是如何自动执行 VPS 的每日备份。
1. 在您的主 VPS 窗口中,生成 SSH 密钥对(如果您还没有的话):
ssh-keygen -t rsa -b 4096
按 Enter 键接受所有提示,使用默认选项且不使用密码。
2. 仍然在您的主 VPS 窗口中,将公钥复制到您的备份 VPS:
ssh-copy-id root@backup-vps-ip
将 `backup-vps-ip` 替换为您的备用 VPS 的 IP 地址。系统将提示您输入备用 VPS 的 root 密码。
设置和自动化备份
现在我们将设置备份流程:
1. 在备份VPS窗口中,创建备份目录:
mkdir -p /home/backup
2. 将以下命令复制到本地计算机上的记事本中:
(crontab -l 2>/dev/null; echo "0 2 * * * rsync -avz --delete --exclude={'/dev/*','/proc/*','/sys/*','/tmp/*','/run/*','/mnt/*','/media/*','/lost+found'} -e ssh / root@backup-vps-ip:/home/backup") | crontab -
3. 在记事本中,将 `backup-vps-ip` 替换为您的备份 VPS 的 IP 地址。
4. 编辑完成后,选中记事本中的所有命令并按 CTL + C 将其复制到剪贴板,然后将其粘贴到您的主 VPS 窗口中。
按回车键运行。
5. 要验证 cron 作业是否已添加,请在您的主 VPS 窗口中运行以下命令:
crontab -l
您应该会看到列出的备份命令:
搞定了!您的主 VPS 现在每天凌晨 2 点会自动备份到备用 VPS 上的 `/home/backup` 目录。
重要注意事项
虽然这种方法可以快速简便地设置备份,但了解其局限性至关重要。此脚本不包含条件检查,例如验证目标服务器是否可访问或检查备份服务器上的可用磁盘空间。如果备份服务器空间不足,您将不会收到通知。此外,该脚本的错误处理能力有限,并且不会保留文件状态,这意味着如果您不小心删除了主服务器上的文件,rsync 也会在下次 cron 作业运行时从备份服务器中删除该文件,这可能会限制您从意外删除中恢复的能力,除非您在每日凌晨 2 点备份之前发现该错误。
为了获得强大的备份解决方案,您应该考虑根据您的具体需求,手动或自动开发额外的检查和功能,或者使用更复杂的备份软件,例如本文“其他备份解决方案”部分中提到的那些软件。