Rsnapshot是一个用 Perl 编写的开源本地/远程文件系统备份实用程序,它利用Rsync和SSH的强大功能来创建 Linux/Unix 文件系统的计划增量备份。

Rsnapshot 仅占用单个完整备份和差异备份的空间,允许您将备份存储在本地驱动器、外部 USB 记忆棒、NFS 安装驱动器上,或通过SSH通过网络存储到另一台机器上。

在本文中,我们将引导您完成安装、设置和使用Rsnapshot创建每小时、每日、每周和每月的本地备份以及远程备份的过程。

在 Linux 中安装 Rsnapshot Backup

首先,您需要安装并启用 EPEL(企业 Linux 的额外软件包)存储库,因为基于 RHEL 的发行版默认不包含Rsnapshot。

sudo dnf install epel-release
sudo dnf install rsnapshot

在基于 Ubuntu 的发行版上,rsnapshot在默认存储库中可用,因此您可以使用apt 包管理器安装它:

sudo apt install rsnapshot

安装后,您可以通过检查版本来验证安装。

rsnapshot -v

设置 SSH 无密码登录

要备份远程 Linux 服务器,您需要配置 SSH,以便在备份服务器和远程机器之间实现无密码登录。

按照以下命令生成 SSH 公钥/私钥对:

ssh-keygen -t rsa

接下来,将公钥复制到远程服务器:

ssh-copy-id user@remote-server

在 Linux 中配置 Rsnapshot

rsnapshot的配置文件位于,使用nano或vim/etc/rsnapshot.conf等文本编辑器打开此配置文件:

sudo nano /etc/rsnapshot.conf
或者
sudo vi /etc/rsnapshot.conf

您需要配置的一些重要设置包括:

快照备份目录

要设置存储备份的目录,您需要编辑snapshot_root配置文件中的行。

snapshot_root   /data/backup/

设置备份间隔

Rsnapshot 支持多种备份间隔,例如每日、每周和每月。您可以通过取消注释以下行来设置备份频率:

interval    hourly    6
interval    daily     7
interval    weekly    4
interval    monthly   3

设置备份目录

要备份本地目录,请添加目录路径。

backup    /home/     localhost/
backup    /etc/      localhost/

对于远程备份,请指定要备份的远程服务器和目录,如下所示:

backup    root@remote-server:/home/     /data/backup/

启用远程备份

要通过 SSH 启用远程备份,请取消注释该cmd_ssh行:

cmd_ssh /usr/bin/ssh

如果您更改了默认 SSH 端口,请更新该ssh_args行以反映自定义端口(例如,端口 7851):

ssh_args -p 7851

排除文件和目录

您可以通过创建排除文件来排除某些文件和目录的备份。

sudo nano /data/backup/exclude.txt

按以下格式添加排除项:

- /var/cache
- /tmp
+ /etc
+ /home

在您的rsnapshot.conf文件中,引用排除文件:

exclude_file    /data/backup/exclude.txt

配置 Rsnapshot 后,通过运行以下命令验证您的设置是否正确:

sudo rsnapshot configtest

您应该会看到消息“ Syntax OK ”。如果有任何错误,请先修复,然后再继续。

最后,您可以使用要备份的间隔的命令手动运行Rsnapshot :

sudo rsnapshot hourly

使用 Cron 自动化 Rsnapshot

要自动执行备份过程,请通过将以下内容添加到/etc/cron.d/rsnapshot文件来配置 cron 作业以特定间隔运行 Rsnapshot:

0 */4 * * *    root    /usr/bin/rsnapshot hourly
30 3 * * *     root    /usr/bin/rsnapshot daily
0 3 * * 1      root    /usr/bin/rsnapshot weekly
30 2 1 * *     root    /usr/bin/rsnapshot monthly

设置 Rsnapshot 报告

Rsnapshot 包含一个通过电子邮件发送备份报告的脚本。要进行设置,请复制脚本并使其可执行:

sudo cp /usr/share/doc/rsnapshot/utils/rsnapreport.pl /usr/local/bin/
sudo chmod +x /usr/local/bin/rsnapreport.pl

现在,编辑您的rsnapshot.conf文件并将标志添加–stats到以下rsync_long_args部分:

rsync_long_args --stats --delete --numeric-ids --delete-excluded

然后,将报告添加到您的 cron 作业以通过电子邮件发送报告:

0 */4 * * * root /usr/bin/rsnapshot hourly 2>&1 | /usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup Report" you@example.com

监控 Rsnapshot 备份

您可以通过检查日志文件来监控备份。默认情况下,Rsnapshot 将备份活动记录在/var/log/rsnapshot.log中。

cat /var/log/rsnapshot.log

Rsnapshot是管理 Linux 系统备份的绝佳选择。通过高效使用rsync,您可以轻松地在本地和远程备份文件。

相关推荐
人工智能训练如何影响计算资源的需求?
近年来,人工智能的格局发生了显著变化,计算资源在这一转变中起到了至关重要的作用。随着我们从小规模模型向大规模训练转变,对计算能力的需求急剧上…
头像
技术指南 2024-10-27
861
如何搭建《方舟:生存升级》的独立服务器?
当您的游戏环境成功启动后,吸引玩家的关键在于有效的推广策略。随着《方舟:生存升级》在游戏界的热潮,许多玩家希望搭建自己的独立服务器,以获得个…
头像
技术指南 2024-10-27
384
独立IP地址为您的网站带来的优势是什么?
如果您在使用共享IP服务器时遇到问题,例如网站因攻击而停机,那么可能是时候考虑升级到独立IP了。本文将引导您完成从共享IP到独立IP的转换,…
头像
技术指南 2024-10-27
545
如何解决在联想服务器上运行CentOS时的驱动冲突问题?
许多系统管理员和服务器租赁提供商在联想服务器上运行CentOS时会遇到兼容性问题。本文将深入探讨这些问题的根源,并提供切实可行的解决方案,以…
头像
技术指南 2024-10-26
243
为什么服务器租用提供商会将服务器禁ping?
在服务器租赁和管理领域,您可能会发现服务器会阻止Ping请求。这种现象被称为“Ping阻止”或“ICMP过滤”,在服务器租赁提供商和管理员中…
头像
技术指南 2024-10-26
937
如何选择合适的视频聊天服务器租赁方案?
在挑选合适的视频聊天服务器租赁方案时,有几个重要因素需要考虑。视频聊天应用程序需要稳定且强大的服务器解决方案,以确保用户享受到流畅的交流体验…
头像
技术指南 2024-10-26
889