跳到主要内容

独服备份:用 Rsync 备份 Linux 服务器

本指南的理想产品

立即开始 — 订购合适的产品,按照本指南一步一步操作。

介绍

备份可以用 Rsync 工具完成。数据可以复制到本地系统的另一个目录/硬盘,或者复制到远程系统。

复制数据到另一个本地目录或硬盘:

信息

注意:首次运行可能比后续运行耗时更长,具体取决于数据量。因为 Rsync 第一次会同步所有数据,之后只同步变更的数据。

这样就实现了增量备份。

第一步

可以用以下命令安装 Rsync:

apt install rsync

安装完成后即可直接使用。

第二步

本例中,/home 下的 Client 文件夹将同步到 /home 下的 Backup 文件夹。

命令如下:

rsync -arz /home/Client /home/Backup

-a=归档模式,保留文件属性


-r=递归,同步子文件夹


-z=压缩,根据数据量/大小进行压缩

文件夹同步成功了

如果现在删除 Client 文件夹中的某个文件,它仍会保留在备份文件夹中。
但因为文件应保持 1:1 同步,可以简单修改 rsync 命令,确保 Client 文件夹中不存在的数据也会从备份文件夹中删除。

修改后的命令是:

rsync -arz --delete /home/Client /home/Backup

-a=归档模式,保留文件属性


-r=递归,同步子文件夹


-z=压缩,根据数据量/大小进行压缩


--delete= 删除目标中源不存在的数据

第三步

为了不每次都手动执行命令,可以把它放进 cron 任务。
比如每天凌晨 3 点自动备份:

打开 crontab -e:

数字 1 代表用 nano 编辑器。 数字 2 代表用 vim 编辑器。

用 nano 打开后,可以生成并输入 crontab。
你也可以用这个 生成器 来创建 crontab。

输入的 crontab 如下:

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

每天凌晨 3 点执行命令,自动创建备份。