标签: rsync

如何重复调用 rsync 直到文件成功传输

我正在尝试从不可靠的远程服务器同步文件,这意味着连接往往会“随机”失败

rsync:连接意外关闭

rsync 是用 --partial 调用的,所以我希望能够在循环中调用 rsync 直到文件完全传输。似乎没有告诉 rsync 重试的标志。

编写脚本的最佳方法是什么?bash for 循环?

linux bash rsync

34
推荐指数
3
解决办法
4万
查看次数

比较 2 个目录并复制第 3 个目录中的差异

运行 ubuntu 12.04,我想比较 2 个目录,比如 folder1/ 和 folder2/,并复制与 folder3/ 不同的任何文件。还有嵌套文件,因此也应复制匹配的子目录

有没有一个命令可以帮助我?我可以获得正在运行的已更改文件的完整列表:

rsync -rcnC --out-format="%f" folder1/ folder2/
Run Code Online (Sandbox Code Playgroud)

但是 rsync 似乎没有能力将这些文件“导出”到不同的目标目录。我可以将列表通过管道传输到 cp 或其他一些程序,以便复制文件,同时创建目录吗?例如,我试过

rsync -rcnC --out-format="%f" folder1/ folder2/ | xargs cp -t folder3/
Run Code Online (Sandbox Code Playgroud)

但这也不会保留目录,它只会复制 folder3/ 中的所有文件

linux rsync directory diff

34
推荐指数
1
解决办法
4万
查看次数

如何从 rsync 输出已更改文件的列表?

我在 bash 脚本中使用 rsync 来保持几个服务器和 NAS 之间的文件同步。我遇到的一个问题是尝试生成在 rsync 期间已更改的文件列表。

这个想法是,当我运行 rsync 时,我可以将已更改的文件输出到文本文件中 - 更希望内存中有一个数组 - 然后在脚本存在之前,我可以对已更改的文件运行 chown 。

有没有人找到一种方法来执行这样的任务?

# specify the source directory
source_directory=/Users/jason/Desktop/source

# specify the destination directory
# DO NOT ADD THE SAME DIRECTORY NAME AS RSYNC WILL CREATE IT FOR YOU
destination_directory=/Users/jason/Desktop/destination

# run the rsync command
rsync -avz $source_directory $destination_directory

# grab the changed items and save to an array or temp file?

# loop through and chown each changed file
for changed_item …
Run Code Online (Sandbox Code Playgroud)

scripting bash rsync

33
推荐指数
3
解决办法
6万
查看次数

比较(差异)完整目录结构的最佳方法?

比较目录结构的最佳方法是什么?

我有一个使用rsync的备份实用程序。我想说明源和备份之间的确切差异(在文件大小和上次更改日期方面)。

就像是:

Local file                   Remote file                         Compare
/home/udi/1.txt (date)(size)   /home/udi/1.txt (date)(size)     EQUAL
/home/udi/2.txt (date)(size)   /home/udi/2.txt (date)(size)     DIFFERENT
Run Code Online (Sandbox Code Playgroud)

当然,该工具可以是现成的,也可以是python脚本的想法。

非常感谢!

乌迪

files filesystems rsync

31
推荐指数
5
解决办法
4万
查看次数

使用 rsync 的存档标志而不复制符号链接

rsync的手册页所述,-a(归档)开关等效于-rlptgoD. 但是,我有一种情况,我不希望保留符号链接。有没有办法继续使用-a开关并防止复制符号链接?-rptgoD每次都可以写,但是有点长。

linux rsync

31
推荐指数
2
解决办法
5万
查看次数

SCP 只传输修改过的文件

我正在使用以下命令跨服务器传输文件

scp -rc blowfish /source/directory/* username@domain.net:/destination/directory
Run Code Online (Sandbox Code Playgroud)

有没有办法像update命令一样只传输文件修改过的文件cp

linux rsync centos scp

31
推荐指数
2
解决办法
4万
查看次数

rsync “无法删除非空目录”错误,即使使用 --force 选项

运行此命令时:

$ sudo rsync -r --delete --force --checksum --exclude=uploads /data/prep/* /data/app/
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

cannot delete non-empty directory: html/js/ckeditor/_source/plugins/uicolor/yui
cannot delete non-empty directory: html/js/ckeditor/_source/plugins/uicolor/yui
cannot delete non-empty directory: html/js/ckeditor/_source/plugins/uicolor
cannot delete non-empty directory: html/js/ckeditor/_source/plugins/uicolor
cannot delete non-empty directory: html/js/ckeditor/_source/plugins
cannot delete non-empty directory: html/js/ckeditor/_source/plugins
cannot delete non-empty directory: html/js/ckeditor/_source
cannot delete non-empty directory: html/js/ckeditor/_samples
cannot delete non-empty directory: html/js/ckeditor/plugins/uicolor/yui
cannot delete non-empty directory: html/js/ckeditor/plugins/uicolor/yui
cannot delete non-empty directory: html/js/ckeditor/plugins/uicolor
Run Code Online (Sandbox Code Playgroud)

通过阅读man rsync我的印象,该--force选项会告诉 rsync 删除这些非空目录,这是预期的结果。

参考:

--force                 force deletion of …
Run Code Online (Sandbox Code Playgroud)

rsync gentoo man deleting

31
推荐指数
2
解决办法
3万
查看次数

如何在 FAT 文件系统中使用 rsync?

我想编写一个简单的备份脚本,将一些数据保存到 FAT 驱动器。我应该重新格式化驱动器并使用更好的文件系统还是可以将 rsync 与 FAT 一起使用?如果是这样,我可能会遇到什么问题?性能会差很多吗?

编辑:这是在 linux 上,甚至不知道 Windows 有 rsync。源是各种文件系统(一团糟),目标当前是用 FAT32 格式化的。

感谢您的回答,我可能会重新格式化,因为我不完全确定我们将拥有的文件大小。

linux backup rsync fat32

30
推荐指数
2
解决办法
3万
查看次数

远程机器上的 rsync 不错

当使用 rsync+ssh 访问远程机器时,有没有办法“优化”远程机器上的 rsync 进程(降低其优先级)?

编辑问题以澄清:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
backups  16651 86.2  0.1   3576  1636 ?        Rs   11:06   0:06 rsync --ser...
Run Code Online (Sandbox Code Playgroud)

(rsync 行被剪断)

这是一个备份 cron 作业,通常在凌晨 4 点运行,但是当我碰巧醒着(并提交,或使用托管在同一台机器上的 Bugzilla)时,它会降低服务器性能,所以我想要一个快速的“黑客”来尝试修复它有点。

ssh rsync

28
推荐指数
2
解决办法
2万
查看次数

如何使用 rsync 复制目录树,创建文件的硬链接?

有时,我必须对服务器上的数据文件执行几次大型迁移更改,我正在寻找一种好方法来执行此操作。我正在考虑使用 rsync 从根数据文件夹开始复制我的目录结构,创建指向所有原始文件的硬链接(其中一些文件相当大),并且我可以在目标树中仅覆盖需要迁移的文件。最后,我可以通过两次mv操作安全地从旧文件切换到新文件。

但是,我似乎无法让 rsync 做到这一点。我试过

rsync -a --link-dest=$DATA $DATA $DATA/../upgrade_tmp
Run Code Online (Sandbox Code Playgroud)

但 rsync 不是创建文件的硬链接,而是完全复制它们。使用相同的源和链接目标目录是否有问题?

rsync hardlink mac-osx

28
推荐指数
4
解决办法
2万
查看次数

标签 统计

rsync ×10

linux ×5

bash ×2

backup ×1

centos ×1

deleting ×1

diff ×1

directory ×1

fat32 ×1

files ×1

filesystems ×1

gentoo ×1

hardlink ×1

mac-osx ×1

man ×1

scp ×1

scripting ×1

ssh ×1