rsync:将更新/新文件复制到不同目录

斯沃克纳

我想使用以下结构进行备份

/source # the source directory which should be backed up

/backup/initial/... # the first initial copy/backup of the source
/backup/snapshots/YYYYmmDDHHmmss/... # (1)
/backup/changed/YYYYmmDDHHmmss/... # (2)

(1)我猜是rsync的“默认”行为。使用硬链接创建快照以返回到初始备份。我会通过rsync -avuP --link-dest=$initial_backup $directory_to_backup $destination

(2)我通过rsync -riv --ignore-existing "$directory_to_backup"/ "$last_backup"/获得了rsync输出rsync -riv --existing "$directory_to_backup"/ "$last_backup"/

但是现在我想将这两个脚本的输出硬链接到changed目录中。

我的目标是既要拥有要备份的目录的完整快照,又要拥有changed仅包含新文件和修改文件的目录。一切都带有硬链接,以避免占用过多空间。

这里

如果我对您的理解正确,则只需稍微更改一下顺序即可。您可以--compare-dest用来创建新文件和已更改文件的目录,然后使用两个--link-destargs链接回此已更改目录和上一个快照。这是一个示例测试脚本:

cd /tmp/
rm -fr src backup
mkdir -p src/a/b backup
date >src/a/b/unchanged
date >src/a/b/c
rsync -a src/ backup/i
rsync -a --link-dest=../i/ src/ backup/s1
sleep 1
date >src/a/b/c
date >src/a/b/c2
rsync -av --compare-dest=../s1 src/ backup/ch
rsync -av --link-dest=../s1 --link-dest=../ch src/ backup/s2
ls -li backup/*/*/*/*

这给了我这个输出:

919 -rw-r--r-- 2  backup/i/a/b/c
920 -rw-r--r-- 3  backup/i/a/b/unchanged
919 -rw-r--r-- 2  backup/s1/a/b/c
920 -rw-r--r-- 3  backup/s1/a/b/unchanged
472 -rw-r--r-- 2  backup/ch/a/b/c
473 -rw-r--r-- 2  backup/ch/a/b/c2
472 -rw-r--r-- 2  backup/s2/a/b/c
473 -rw-r--r-- 2  backup/s2/a/b/c2
920 -rw-r--r-- 3  backup/s2/a/b/unchanged

在此,目录i是初始备份,s1snapshot1,s2snapshot2以及ch与snapshot2对应的更改。第一列是索引节点号,第三列是硬链接数。它显示已更改的文件c被硬链接到ch,新文件c2被硬链接到ch,而未更改的文件被硬链接到s1i

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将“仅已更改/新文件”复制到不同的目录?

来自分类Dev

Python-仅将新文件复制到另一个目录

来自分类Dev

将文件名复制到新文件

来自分类Dev

如果不存在,如何将更新的文件复制到新文件夹并创建目录作为源?

来自分类Dev

将特定文件复制到新文件夹,同时保留原始子目录树

来自分类Dev

如何将文件从列表复制到新文件夹?

来自分类Dev

使用python仅将csv文件的标头复制到新文件中

来自分类Dev

如何使用Java将文件中的特定行复制到新文件

来自分类Dev

如何将文件从列表复制到新文件夹?

来自分类Dev

Robocopy仅将更改的文件复制到新文件夹

来自分类Dev

如何将hadoop中的大文件的前几行复制到新文件?

来自分类Dev

循环浏览多个csv文件,仅将某些列复制到新文件

来自分类Dev

仅在某些字符之后将值从文件复制到新文件

来自分类Dev

如何将最新文件从一个目录复制到另一个目录?

来自分类Dev

如何将最新文件从一个目录复制到另一个目录?

来自分类Dev

如何改善将输出APK从Android项目复制到新文件夹的任务?

来自分类Dev

将工作表,代码和按钮复制到新文件

来自分类Dev

Unix Shell-将前300行复制到新文件

来自分类Dev

将电子表格复制到新文件,指定选项卡

来自分类Dev

当列与文本匹配时,将整行复制到新文件

来自分类Dev

Unix Shell-将前300行复制到新文件

来自分类Dev

为什么我尝试将文件从Firebase Storage的根目录复制到新文件夹的代码无法正常工作?

来自分类Dev

使用python仅将更新/新文件从一个文件夹复制到另一个文件夹

来自分类Dev

将子文件夹中的所有文件复制到新文件夹中

来自分类Dev

如何使用Python将子文件夹和文件复制到新文件夹

来自分类Dev

将文本文件中列出的几个文件复制到新文件夹中

来自分类Dev

将顺序文件从多个文件夹复制到新文件夹中

来自分类Dev

使用rsync将文件从多个目录复制到一个目录

来自分类Dev

仅将文本文件复制到R中的新文件夹中

Related 相关文章

  1. 1

    将“仅已更改/新文件”复制到不同的目录?

  2. 2

    Python-仅将新文件复制到另一个目录

  3. 3

    将文件名复制到新文件

  4. 4

    如果不存在,如何将更新的文件复制到新文件夹并创建目录作为源?

  5. 5

    将特定文件复制到新文件夹,同时保留原始子目录树

  6. 6

    如何将文件从列表复制到新文件夹?

  7. 7

    使用python仅将csv文件的标头复制到新文件中

  8. 8

    如何使用Java将文件中的特定行复制到新文件

  9. 9

    如何将文件从列表复制到新文件夹?

  10. 10

    Robocopy仅将更改的文件复制到新文件夹

  11. 11

    如何将hadoop中的大文件的前几行复制到新文件?

  12. 12

    循环浏览多个csv文件,仅将某些列复制到新文件

  13. 13

    仅在某些字符之后将值从文件复制到新文件

  14. 14

    如何将最新文件从一个目录复制到另一个目录?

  15. 15

    如何将最新文件从一个目录复制到另一个目录?

  16. 16

    如何改善将输出APK从Android项目复制到新文件夹的任务?

  17. 17

    将工作表,代码和按钮复制到新文件

  18. 18

    Unix Shell-将前300行复制到新文件

  19. 19

    将电子表格复制到新文件,指定选项卡

  20. 20

    当列与文本匹配时,将整行复制到新文件

  21. 21

    Unix Shell-将前300行复制到新文件

  22. 22

    为什么我尝试将文件从Firebase Storage的根目录复制到新文件夹的代码无法正常工作?

  23. 23

    使用python仅将更新/新文件从一个文件夹复制到另一个文件夹

  24. 24

    将子文件夹中的所有文件复制到新文件夹中

  25. 25

    如何使用Python将子文件夹和文件复制到新文件夹

  26. 26

    将文本文件中列出的几个文件复制到新文件夹中

  27. 27

    将顺序文件从多个文件夹复制到新文件夹中

  28. 28

    使用rsync将文件从多个目录复制到一个目录

  29. 29

    仅将文本文件复制到R中的新文件夹中

热门标签

归档