Questions tagged «rsync»

rsync是一种工具,可以通过强大的过滤器来决定要复制的内容,以本地或远程方式有效地复制目录层次结构。

3
如何同步多个源文件夹
我想同步多个源,我想知道实现此目标的最佳方法。 例如 /etc/fstab /home/user/download 我考虑了3个解决方案: 解决方案1 多次调用rsync rsync -a /etc/fstab bkp rsync -a /home/user/download bkp 缺点:更难以统计 解决方案2 创建一个tobackup包含符号链接的文件夹,并使用-L选项 sync -aL /home/user/tobackup bkp con:要备份的内容不得包含符号链接 解决方案3 将文件移至备份并在原始位置创建符号链接 rsync -a /home/user/tobackup bkp con:一些手动配置 您推荐哪一个? 有没有更好的办法 ?
34 rsync 

3
Rsync错误23:我可以知道哪些文件没有传输吗?
我sudo rsync -va --progress从一个外部驱动器的根目录运行到另一个外部驱动器的文件夹中。原因是源驱动器具有错误的NTFS,并且我无权访问Windows PC来修复NTFS。 10小时后它说: sent 608725204596 bytes received 19365712 bytes 15902210.53 bytes/sec total size is 608586212274 speedup is 1.00 rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9] 我保存了整个终端输出。刚开始时,Input/output error (5)实际上我不需要的文件总数约为2GB,只有几百个。OSX Finder“磁盘使用情况”告诉我源为6170亿字节,而不是上面报告中的608字节。 问题: 详细输出的第一部分(构建文件列表)是否肯定会Input/output error (5)针对将不会复制的每个文件? 是否code 23意味着除文件外的所有文件Input/output error (5)都已成功复制?
32 rsync 

1
在没有目标的情况下进行rsync会发生什么?
为了简单起见,我做了一个rsync: rsync -avP user@exampleserver.com:/tmp/ 而且我忘了放在我的源目录中... 我真的想跑步: rsync -avP /tmp/ user@exampleserver.com:/tmp/ 它打印了一堆文件,但是我不知道将文件复制到哪里,因为我没有指定目的地。有人知道发生了什么吗?我ls在当前文件夹上做了一个,但是什么也没找到。
31 linux  rsync  file-copy 


2
要求rsync删除接收方在发送方不存在的文件,但接收方例外
我已阅读以下主题: rsync --delete --files-from = list / dest /不会删除不需要的文件 通过rsync从dest目录中删除无关的文件? 但是,据我所知(也许我遗漏了一些东西),它们没有涵盖以下问题: 您如何要求rsync复制文件并删除发送方不存在的接收方文件(例外)?(例如.hg,即使在发送方没有存储库,也不要在接收方删除存储库)。 一种可能性? 从下面的@Richard Holloway的答案中借用。说我有以下几行: rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path 据我了解,此行将rsync删除接收路径上发送路径上不存在的所有内容,但与匹配的内容除外dont_delete_me。现在我的问题是:即使发送方没有匹配,rsync也会在接收方保留dont_delete_me 匹配的文件dont_delete_me吗?
29 rsync 

4
如何在不删除符号链接的情况下复制目录结构?
我需要将一堆文件“安装”到另一个目录,以保持源文件的目录结构完整。例如,如果我./foo/bar/baz.txt要去,/var/www/localhost/webroot/我希望结果是/var/www/localhost/webroot/foo/bar/baz.txt。rsync在中具有此功能--relative,但是当我这样做时,我发现它对符号链接并不友好: $ ls -ald /var/www/localhost/webroot/ | grep ^l lrwxrwxrwx 1 www-data www-data 15 2014-01-03 13:45 media -> ../static/media lrwxrwxrwx 1 root root 13 2014-02-24 13:47 var -> ../static/var $ rsync -qrR . /var/www/localhost/webroot/ $ ls -ald /var/www/localhost/webroot/ | grep var drwxr-xr-x 3 root root 4096 2014-02-24 13:52 /var/www/localhost/webroot/var 因此,您会看到符号链接不再是符号链接–文件被复制到错误的位置! rsync也可以--no-implied-dirs选择,从表面上看似乎可以满足我的要求,但是它仅在不执行递归rsync …
27 rsync  symlink  mirror 

5
使用rsync双向同步目录
我碰巧知道rsyn,我使用rsync在Mac和Linux服务器之间进行同步,如下所示。 rsync -r -t -v MAC LINUX rsync -r -t -v LINUX MAC 我希望运行第一个命令进行同步,但是当在LINUX中进行更改时,我也需要第二个命令。 我想念什么吗?rsync是否可以在两个目录之间进行同步?

7
tar + rsync + untar。仅通过rsync可以获得任何速度优势吗?
我经常发现自己将包含10K-100K文件的文件夹发送到远程计算机(在校园内的同一网络中)。 我只是想知道是否有理由相信这一点, tar + rsync + untar 或者简单地 tar (from src to dest) + untar 在实践中可能比 rsync 首次传输文件时。 我对在两种情况下解决上述问题的答案很感兴趣:使用压缩而不使用压缩。 更新资料 我刚刚进行了一些实验,移动了10,000个小文件(总大小= 50 MB),并且tar+rsync+untar始终比rsync直接运行(都没有压缩)要快。
25 rsync  tar 

1
查找并rsync?
我希望能够搜索超过14天和超过10k的文件,而不是将那些找到的文件rsync到目的地。 有没有办法组合这两个命令? find ./ -mtime +14 -size +10k rsync --remove-sent-files -avz /src /dest
24 bash  shell  find  pipe  rsync 

1
为什么rsync尝试复制已经是最新的文件?
我在本地计算机和远程计算机上有两个相同的文件。它们的大小相等,并且本地计算机上的文件比远程计算机上的文件新-但rsync仍尝试复制文件。 我按如下方式调用rsync: rsync -nv -e "ssh -p 2222" user@host:/data/file.fif data/file.fif (如果我不使用-noption,它将启动复制操作) Rsync文档明确指出不应发生这种情况: Rsync finds files that need to be transferred using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time. 来自的输出stat: # remote file File: `data/fif/Skovorodko_Olga_45_raw.fif' Size: 1137551966 Blocks: 2221784 …
24 rsync 

1
重用rsync --dry-run输出以加快稍后的实际传输速度
我通常rsync -n在做实际的事情前就做过rsync。问题是,我如何才能使第二轮运行自动化以完全重复使用生成的列表--dry-run? 我的意思是,如果我运行了,rsync -n然后得到了rsync将要执行的模拟操作,我的想法是获取该输出,对其进行处理,然后以某种方式rsync仅生成--include-from该输出,因此完整列表仅需计算一次。 如果这甚至没有道理,请告诉我。 顺便说一下,我倾向于使用rsync -hva --progress --stats --delete --exclude-from "$EXCLUDEFILE"。如果您对使用什么选项也有建议,请告诉我。我正在尝试将外部硬盘驱动器(仅包含图像,视频和文档)的内容复制到另一个外部硬盘驱动器。

5
如何比较两个文件夹并将差异复制到第三个文件夹?
您有三个文件夹: 当前文件夹,其中包含您的当前文件 文件夹old,其中包含相同文件的旧版本 文件夹差异,这只是一个空文件夹 你如何比较旧与当前和副本是不同的(或全新的)中的文件当前以区别? 我已经四处搜寻,似乎很容易解决,但在我的特定示例中却无法解决。大多数资源都建议使用rsync,因此我得到了以下命令: rsync -ac --compare-dest=../old/ new/ difference/ 但是,这样做是将所有文件从新文件复制到不同文件,甚至与旧文件相同。 万一它有帮助(也许命令很好并且故障在其他地方),这就是我测试的方式: 我做了三个文件夹。 我提出了一些文本文件,在不同的内容旧。 我将文件从旧复制到新。 我在new中更改了某些文件的内容,并添加了一些其他文件。 我运行了上面的命令,并检查了结果差异。 在过去的几天里,我一直在寻找解决方案,非常感谢您的帮助。它不一定必须使用rsync,但如果可能的话,我想知道我在做什么错。
23 files  rsync  diff  file-copy 



3
rsync递归地忽略某些文件,其余文件除外,忽略.svn /目录
我rsync用来将某些文件从共享复制到另一个。 递归地,我需要: 删除目的地中从原点删除的文件 仅同步.php和.js文件 排除所有其他文件类型 不要删除.svn/目标目录 如果我使用这个: rsync -zavC --delete --include='*.php' --include='*.js' --exclude="*" \ /origin /destination 然后rsync不是递归的,因为exclude="*"排除所有文件,但也排除文件夹。 如果添加,--include="*/"则.svn/目录将被删除(也将包含在内)。 我该如何解决这种令人难以置信的难题? uname -a: Linux tux 3.9.2-1-ARCH#1 SMP PREEMPT星期六2013年5月11日20:31:08 CEST x86_64 GNU / Linux rsync 版: rsync 3.0.9-6

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.