Articles of rsync

如何在不安全的networking上的服务器之间执行安全的rsync

基本上我问的是,有没有人遇到了一种方法,在rsh内包装rsync。 使用OpenSSH v4.9 + sftp有一些很好的选项,可以让你连接到连接等,这是一个解决scheme,但是我一直用RHEL,而RHEL4或者RHEL5都不是那个版本的SSH。 我目前的解决scheme是使用客户端用户的密钥添加类似这样的服务器端… server%cat〜/ .ssh / authorized_keys command =“cd / srv / rsync / etl && tar –exclude'./lost+found'-pcf – ./”ssh-rsa … …所以客户将被限制在一件事情,一件事情… 客户端%ssh -T -i $ {HOME} /。ssh / id_rsa [email protected]> sensative.tar 这保证了连接以及服务器(来自客户端)的安全,但是效率低下,因为所有的文件都会一遍又一遍地被检索。 我在使用rsync做类似的(或更好的)之后。

复制没有空目录的目录树?

我有以下的树 # upper letters = directory # lower letters = files A |– B |– C |– D |– e <= file |– F |– G 我需要复制这棵树到另一个目的地,recursion地忽略所有的空目录。 所以目的地最终看起来像: C |– e 你如何使用unix,rsync等来做到这一点?

rsync只是挂起,build立文件列表

[root@centos /]# rsync -av –exclude thumbs /storage [email protected]:/storage [email protected]'s password: building file list … 我坐了一个小时左右…这是135GB的图像和文件夹 /storage是一个安装的ext3 scsi驱动器。 坐在这长长的计算文件/目录rsync是正常的吗?

获取rsync来生成补丁文件,而不是跨文件复制?

我正在使用rsync将大量的文件从一台服务器复制到另一台服务器。 我知道我可以使用-n选项进行空运行,所以我可以看到哪些文件已经被更改。 但是,有可能得到rsync打印文件内容的变化的差异? 我想看看发生之前发生了什么? 一些我可以保存到一个文件,并在稍后使用diff(1)?

如何在机器间同步大型稀疏文件(VM磁盘映像)?

是否有一个命令,如rsync,可以从一个linux服务器同步大型,稀疏的文件到另一个? 目标文件保持稀疏是非常重要的。 它可能比包含它的驱动器更长(但不会更长)。 只有更改的块应通过电线发送。 我已经尝试了rsync,但没有喜悦。 groups.google.com/group/mailing.unix.rsync/browse_thread/thread/94f39271980513d3 如果我写一个程序来做到这一点,我只是重新发明轮子? http://www.finalcog.com/synchronise-block-devices 谢谢, 克里斯。

rsync不会删除目标上的文件

我试图镜像一个目录随着时间​​的推移到另一个目录。 我的问题是,rsync不会删除目标文件,如果它们不在源目录中了。 这是一个演示脚本: #!/bin/sh set -x DIR1=/tmp/1 DIR2=/tmp/2 rm -rf $DIR1 rm -rf $DIR2 mkdir $DIR1 mkdir $DIR2 echo "foo" > $DIR1/a echo "bar" > $DIR1/b rsync -a $DIR1/* $DIR2 rm -f $DIR1/a rsync -a –delete $DIR1/* $DIR2 ls -1 $DIR2 这是输出: + DIR1=/tmp/1 + DIR2=/tmp/2 + rm -rf /tmp/1 + rm -rf /tmp/2 + […]

我可以使用rsync创build仅更改文件的列表吗?

我在bash脚本中使用rsync来保持文件在几台服务器和NAS之间同步。 我遇到的一个问题是试图生成从rsync期间已经改变的文件的列表。 这个想法是,当我运行rsync时,我可以输出已经改变的文件到一个文本文件 – 更希望在内存中的数组 – 然后在脚本存在之前,我可以只运行更改文件的chown。 有没有人find一个方法来执行这样的任务? # 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 […]

即使使用了–force选项,rsync也不能删除非空目录的错误

运行这个命令时: $ sudo rsync -r –delete –force –checksum –exclude=uploads /data/prep/* /data/app/ 我得到以下输出: 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 […]

rsync:仅向一个方向传输文件

是否有可能使用rsync只能在一个方向上复制文件? 例如,假设我们有: left/a.txt right/a.txt 这些文件最初是相同的。 如果你修改了right/a.txt ,那么: rsync -avv left/ right/ 将right/a.txt复制到left/a.txt 。 是否有可能限制rsync只left/ right/复制right/ (即防止它right/ left/复制left/ )?

Rsync显示单个文件的进度

我正在使用rsync上传/下载一个非常大的文件(20Gb)。 我知道 – 进展选项,但它在我的情况是只是最后显示结果。 我的问题是,在一些不稳定的连接 – 我不知道它是否仍然下载/上传或出了什么问题。 有没有办法显示单个文件的进度条? 类似于wget默认做的事情? 谢谢!