如何使用 rsync 将本地文件夹备份到外部硬盘,并为未更改的文件保留硬链接

如何使用 rsync 将本地文件夹备份到外部硬盘,并为未更改的文件保留硬链接

我的主目录中有两个文件夹需要备份到外部硬盘。每个文件夹都有一些应从备份中排除的文件,我的主目录中有一个名为“backup-exclude”的文件来指定这些排除项。以下是目录结构:

Home Directory:
- Dir1/
- Dir2/
- backup-exclude

我想使用 rsync 将这些文件夹备份到外部硬盘驱动器,并且我想对未更改的文件使用硬链接以节省空间。外部硬盘驱动器具有以下结构:

External Hard Drive:
- Backup/
  - backup-2023-06-10/
    - Dir1/
    - Dir2/
  - backup-2023-06-03/
    - Dir1/
    - Dir2/

主目录的文件系统格式为ext4,而外部硬盘格式为NTFS。我目前用来执行备份的命令如下:

rsync -av \
      --exclude-from=backup-exclude \
      --delete-excluded \
      --delete-after \
      ~/Dir1 ~/Dir2 \
      /external-hdd/Backup/backup-2023-06-10

但是,我想修改此命令以利用外部硬盘上先前备份的硬链接。我尝试了以下命令,但没有按预期工作:

rsync -av \
      --exclude-from=backup-exclude \
      --delete-excluded \
      --delete-after \
      --link-dest=/external-hdd/Backup/backup-2023-06-03/ \
      ~/Dir1 ~/Dir2 \
      /external-hdd/Backup/backup-2023-06-10

有人可以提供正确的命令来实现硬链接到外部硬盘上以前的备份的所需行为吗?

相关内容