Rsync保留/复制硬链接(备份Rsnapshot目录树)

时间:2020-01-09 10:42:02  来源:igfitidea点击:

我使用rsnapshot文件系统快照实用程序为RHEL 5.x系统上运行的10个生产服务器制作了本地和远程文件系统的增量快照。 rsnapshot命令广泛使用了硬链接,因此,如果文件没有更改,则下一个快照就是指向相同文件的硬链接。如何使用rsync命令将整个快照目录/raid6/rsnapshot /(大约4TB)复制到远程服务器以进行镜像? rsync命令可以保留硬链接,并使用以下语法将/raid6/rsnapshot /目录的精确副本复制到远程服务器。
这对于进行异地备份或者将现有备份复制到USB硬盘非常有用:

rsync -az -H-删除--numeric-ids/path/to/source server2:/path/to/dest /

或者

rsync -az -H-删除--numeric-ids/path/to/source 192.168.1.5:/path/to/dest /

或者

`rsync -az -H-删除--progress-数字标识/path/to/source 192.168.1.5:/path/to/dest/

其中:

  • -a:存档模式(即递归到目录中,并保留符号链接,文件权限,文件修改时间,文件组,文件所有者,设备文件和特殊文件)
  • -z:传输过程中压缩文件数据
  • -H:保留硬链接(即将硬链接复制为硬链接)
  • --delete:从接收方删除无关的文件(不在发送方的文件),但仅针对正在同步的目录,即保留/raid6/rsnapshot目录的精确副本。
  • --numeric-ids:传送数字组和用户ID,而不是使用用户名和组名并在两端映射它们。
  • --progress:显示传输过程中的进度。

Rsync复制硬链接

简而言之,以超级用户身份执行以下命令,将/raid6/rsanpshot复制到另一个名为backupserver2的备份服务器中:

# rsync -az -H --delete --numeric-ids /raid6/rsanpshot backupserver2:/backups/

您也可以从backupsrver2中提取备份,如下所示:

# rsync -az -H --delete --numeric-ids backupserver1:/raid6/rsanpshot /backups/

较小的目录可以使用相同的语法转储到USB 2.0/3.0或者eSata外部硬盘驱动器。
首先,安装USB硬盘:

# mount /dev/sdXY /mnt/usbdisk

接下来,使用rsync命令,如下所示:

# rsync -az -H --delete --numeric-ids /raid6/rsanpshot /mnt/usbdisk/