Questions tagged «rsync»

Rsync是Unix和Windows系统的开源命令行工具,它提供快速的增量文件传输,以复制文件并在本地或远程主机之间同步目录。它广泛用于镜像和备份。

1
Ubuntu Server中的Unicode字符
我最近从Ubuntu Desktop 13.04迁移到Ubuntu Server 13.10,现在我的文件系统似乎不支持Unicode字符。我使用rsync备份/同步文件,它显示正确的字符,但是它想删除不匹配的文件名并创建转义版本。 例如: root@ubuntu-server:~# rsync -avh --progress --delete --dry-run --exclude \$RECYCLE.BIN /media/source/ /media/target/ deleting Tiësto - Ten Seconds Before Sunrise.mp3 Ti\#353sto - Ten Seconds Before Sunrise.mp3 另外,如果我将unicode文件复制到文件系统,它将显示为: drwxr-xr-x 3 root root 4096 Jan 21 2013 DJ Ti?sto/ 我尝试通过安装unicode库,apt-get install unicode但就解决问题而言似乎没有做任何事情。 更新:现在这可能是内核问题。我正在通过samba / cifs复制,我尝试通过指定utf8字符集,mount -t cifs //192.xxx.xxx.xxx/source/ /media/target/ …

4
是否可以从命令行对scp / sftp / rsync / etc传输进行速率限制?即,在单个命令上的手动QoS?
具体来说,我希望对通话本身中的scp或sftp会话(或其他任意网络通话)进行速率限制。 例如,假设我要将100MB复制到一台服务器,将1GB复制到另一台服务器。我希望能够同时运行这两个程序,但要为“正常”计算机使用率保持QoS-有点类似于如何对bittorrent进行速率限制。 有没有一种方法可以在不接触网络硬件的情况下进行操作? 我正在设想类似于: magic-qos-tool 'scp file user@host:/path/to/file' 要么.. scp -rate 40kbps file user@host:/path/to/file
10 rsync  bandwidth  scp  sftp  qos 

2
rsync设置组所有者,组权限
我想使用rsync将文件从计算机传输到远程Linux系统。无论本地文件的组所有权如何,我都希望在远程端设置这些值。 如果在远程Linux系统上,则可以创建目录并将所有权和权限设置为: mkdir my_directory chown :my_group my_directory chmod 775 my_directory 如果我在本地创建目录,然后使用rsync(请记住,我在本地没有my_group),则可以执行以下操作: rsync -ae ssh --chmod=ug+rw,Dug+rwx my_directory remoteserver:dest 那行得通,但是我不知道如何通过rsync设置组所有者。如果我执行了chmod g+s dest,my_directory具有正确的组所有者,但是其中的所有文件都具有错误的组所有者。

4
使用端口转发时如何恢复大型的scp文件传输?
我有一台机器,距离您只有几步之遥,我需要设置端口转发才能传输文件。 编辑:为了清楚起见,需要多个跃点才能访问远程计算机。在我的机器上,我建立了一个VPN,可以在其中访问10.255.xx-这是我可以通过VPN连接到的唯一机器。登录.xx后,我便可以连接到其他计算机-.yy就是其中一台。 从我的机器上: ssh -L 4567:localhost:4567 me@10.255.x.x 然后从那台机器: ssh -L 4567:localhost:22 me@10.255.y.y 那我可以 scp -P 4567 me@localhost:/path/to/large/file.gz . 我离开了这个奔走的黑夜,只是发现转移在某个时候死了。 我已经看到了一些在ssh上使用rsync来恢复传输的建议,但是我不清楚如何进行设置。这可能吗?

1
使用Cygwin rsync将ACL处理留给Windows
我正在运行rsync命令,将文件从服务器复制到Windows计算机,例如: rsync -rt --partial-dir=".rsync" --del rsync://server/a/ a/ 每当此命令创建目录时,它都会创建带有疯狂ACL /权限的目录。对我而言,它倾向于创建十个<not inherited>条目,其中一个拒绝运行rsync命令的用户,其他条目也没有太大意义。这甚至可以使用--chmod=ugo=rwX选项执行,该选项建议使用类似的线程。 我该怎么做才能阻止rsync尝试设置权限(而仅在Windows中将权限留给ACL继承)?
10 windows  cygwin  rsync  acl 

3
rsync无法删除非空目录
同步远程备份时出现错误rsync cannot delete non-empty directory。 我知道原因:我排除了一些文件,当rsync试图删除远程目录时,因为它在本地不存在,所以不能删除,因为它不为空。如果没有排除,该目录将被清空。 我也知道我可以使用--delete-excluded摆脱问题,但这不是我想要的。 我想跳过某些文件的上传(因为它们对于我的上传速度来说太大了),但是如果它们已经存在于本地,我想保留一些我已经上传的文件。如果它们在本地不存在,则应将其删除。--delete-excluded会在远程将它们全部删除。 这也意味着,如果目录在本地不再存在,则即使包含排除的文件,也应将其删除。 是否可以设置rsync来完成此任务?
10 linux  rsync 


2
是否有允许“增量上传”的FTP或类似FTP的客户端-即仅上传文件中已更改的部分?
我经常通过FTP(用于Web开发的CSS文件)对相当大的文本文件进行小的更改,并且由于我的互联网连接速度非常慢,所以这是一个非常痛苦的过程。 即使仅更改文件的一个字符,我仍然必须坐下来等待相当长的时间,然后才能将整个文件重新上传到服务器。 有什么方法可以编辑本地计算机上的远程托管文件,并且在保存文件时,仅上传文件中已更改的部分? 编辑:我想我目前尚不清楚如何使用我的FTP客户端。基本上,我使用WinSCP通过SFTP打开一个远程文件。WinSCP将其保存到一个tmp文件夹,启动Sublime Text,然后开始编辑它。当我点击保存时,WinSCP会自动重新上传文件。我从未真正将文件永久保存在计算机上-一切都通过WinSCP的temp文件夹完成。这就是为什么我正在寻找一种可以以“即插即用”类型的方式使用的解决方案。 先前的讨论 我之前曾在ServerFault上发布过此问题,建议使用git之类的内容,但是正如我所解释的那样: 使用git或类似的版本控制工具,每次保存文件时我都必须提交一次,对吗?即使可以自动完成(即,如果我有一个宏在Sublime Text中保存了Ctrl-S并同时执行了git push),我每小时可能会对CSS文件进行50-100次小修改;我肯定会收到垃圾邮件提交日志吗?另外,git解决方案不灵活,因为它依赖于我正在编辑的任何文件作为git repo的一部分。 到目前为止,我唯一能想到的解决方案是使用rsync进行某种骇客入侵的过程,但即使如此,它还是很奇怪: 我将需要的文件下载到我的计算机上(通过FTP / rsync /任何方式)。 我在(例如)Sublime Text中打开文件并开始进行编辑。 后台进程正在监视文件夹中的文件修改。当我保存文件时,该过程立即触发从计算机到服务器的rsync操作,从而传输文件的更改部分。 但是,我需要手动设置或指定远程文件或目录路径,否则本地rsync脚本将不知道在何处rsync文件,因此此方法仍然很不灵活。这种方法不会让我立即浏览到一个随机文件,无法像FTP客户端一样打开并保存它。 此方法也没有可见的反馈,例如上传进度栏。
9 linux  ftp  rsync 

3
如何在保留ACL的同时使用rsync将Time Machine卷复制到另一个磁盘?
最近,我不得不将Mac的文件系统从保留大小写更改为完全区分大小写。我通过使用CCC并将数据复制到另一张磁盘,然后返回到新格式化的主磁盘来做到这一点。 现在,我想在旧的Time Machine磁盘上进行Time Machine备份,该磁盘托管在通过AFP导出的基于FreeBSD的NAS上。但是,由于Time Machine仍然具有不区分大小写的fs,因此出现文件系统不匹配的错误。这次,我无法使用CCC,因为它不支持Time Machine卷的文件级复制。 自然地,我直接使用rsync,但是这带来了一个问题-如果我使用以下命令运行它: /usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/ 一旦点击Backups.backupdb/<machinename>文件夹,它就会开始抱怨failed to set permissions, operation not permitted。这里的问题是复制限制性很强的ACL: ll -dle /Volumes/Time\ Machine\ Backups/Backups.backupdb/<machinename>/ drwxr-xr-x@ 19 root staff 646 Dec 23 09:38 /Volumes/Time Machine Backups/Backups.backupdb/<machinename>/ 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown 因此,我-A从上面的命令中删除了,rsync现在愉快地移动了GB的数据。 las,我也想保留ACL。有可能吗?OS X没有getfacl / setfacl,我想避免解析的输出ls -le。我在这里看到的解决方案是以某种方式告诉rsync向后应用ACL,即从叶子文件到目录,但没有选择。
9 macos  rsync  acl 

5
从ext4同步到NTFS时仅显示更改的文件
我希望rsync打印修改过的和删除的文件。详细选项(-v)会打印已修改的文件,但也会打印子目录列表,这可能是因为触摸的目录被视为已修改。由于我同步了许多子目录中的许多文件,因此看不到实际的更改。 因此,有没有办法不使用rsync打印目录? 我不会寻找grep -v "*/$"答案,因为它还会排除新目录。 我正在使用的命令: rsync -avh --delete /media/data/src /media/data/bkp 并且每次打印所有目录的列表: src/dir1/ src/dir1/sdir1/ src/dir1/sdir2/ src/dir2/ 编辑:好的,经过一些严格的测试..从ext4分区同步到ext4以及从NTFS到NTFS同步时,它不会打印所有目录。它仅在从ext4同步到NTFS时起作用。而且选项-c还是--omit-dir-times不要更改。
9 rsync 

2
Windows的实时rsync /目录监控器?
现在,我们有一个中央Linux服务器和几个分布在该地区的卫星Windows服务器。每隔15分钟,Linux服务器就会从其他服务器(它们通过Cygwin运行cwrsync守护程序)同步文件。但是,其中之一的目录树现在已超过85GB和400,000个文件。仅花费15分钟以上的时间即可扫描目录以进行更改;与扫描相比,实际的传输时间微不足道。 Windows是否有任何东西可以监视特定的树并实时传输任何更改,或将它们排队等待每隔几分钟发送一次,而不必每次都对整个树进行批量扫描,并且最好对Linux系统执行此操作通过rsync?lsyncd似乎很适合,直到我意识到它适用于Linux,而不是Windows。
9 windows  rsync 

1
备份期间Rsync检查增加
我目前正在将大约40 Gigs的文件从外部磁盘传输到硬盘,并且rsync进度输出始终显示类似 ... to-check=1100/24094) ... to-check=1099/24094) 但是在转移期间,第二个数字会增加,而第一个数字永远不会低于1000。 ... to-check=1200/27199) ... to-check=1199/27199) 这让我感到困惑-转移实际上什么时候结束? 编辑:好的,在某个时候它结束了。不过,是什么导致了这种行为?
9 rsync 

3
无需cygwin的最小rsync安装
有没有一种方法可以不必使用cygwin在Windows XP上安装rsync? 我不想安装cygwin,因为它占用大量空间。 此外,我需要使其与Linux上的rsync守护进程通信,因此Windows上的rsync替代品无济于事。

2
如何让rsync忽略丢失的文件?
我正在以下命令执行到几个不同的系统: $ rsync -a -v foo@machine.company.com:'/path/to/first/*.log path/to/second.txt' /dest/folder/0007/. 有时* .log不存在,没关系,但是rsync会产生以下错误: receiving file list ... rsync: link_stat "/path/to/first/*.log" failed: No such file or directory (2) done 有什么办法可以抑制这种情况?我能想到的唯一方法是使用包含和排除过滤器,这对我来说似乎是PITA。谢谢!
9 rsync 

2
Rsync统计文件数
我使用带有-vrlHh --delete --stats --force选项的rsync 来镜像两个目录。第一个目录是源,它是我的外部hd,目标目录是空的,因为我刚刚创建了它。 我跑步rsync -vrlHh --delete --stats --force my_hd dest_dir,我得到了这个输出。 ... 2012/05/12 11:59:29 [18094] Number of files: 189315 2012/05/12 11:59:29 [18094] Number of files transferred: 178767 2012/05/12 11:59:29 [18094] Total file size: 241.57G bytes 2012/05/12 11:59:29 [18094] Total transferred file size: 241.57G bytes 2012/05/12 11:59:29 [18094] Literal data: …

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.