Questions tagged «rsync»

Rsync是一种快速且用途广泛的文件复制工具。它可以通过任何远程Shell在本地复制到另一个主机,或从另一个远程复制到另一个rsync守护程序。

1
Rsync失败并显示“文件太大”
我正在编写一个简单的备份脚本,将所有媒体文件复制到外部USB驱动器。似乎有一个文件被阻塞,我不确定为什么。只是尝试复制一个文件,我得到: [satori7@tyson Scripts]$ sudo rsync -zvr /home/Media/Movies/Truth.In.24.ESPNHD.720p.HDTV.x264.mkv /media/video [sudo] password for satori7: sending incremental file list Truth.In.24.ESPNHD.720p.HDTV.x264.mkv rsync: write failed on "/media/video/Truth.In.24.ESPNHD.720p.HDTV.x264.mkv": File too large (27) rsync error: error in file IO (code 11) at receiver.c(389) [receiver=3.1.0] 奇怪的是,它确实复制了大约4 GB的服务器文件,但这个文件稍大一些,为4.4 GB。有谁知道rsync是否有某种限制? 这是在Fedora 20上复制到以vfat安装的USB驱动器上。
9 linux  rsync  fedora 

2
Mac上的rsync --iconv选项不起作用(从远程Linux服务器同步到本地Mac)
我想使用rsync将数据从远程Linux服务器备份到本地Mac。我想在本地Mac上初始化此操作。除存在特殊字符问题外,所有其他方法都工作正常:每次我重新运行rsync操作(在初始同步之后)时,首先删除具有特殊字符的文件,然后重新进行同步。据我了解,不同的字符集存在问题,首选的解决方案似乎是使用以下--iconv选项: 您至少可以在Mac上使用rsync的--iconv选项在UTF-8 NFC和NFD之间转换。有一个特殊的utf-8-mac字符集,代表UTF-8 NFD。因此,要将文件从Mac复制到NAS,您需要运行以下命令: rsync -a --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/ 这会将所有本地文件名从UTF-8 NFD转换为远程服务器上的UTF-8 NFC。文件内容不会受到影响。 问题在于,这对我来说仅是“一种方式”,即从Mac同步到Linux时。但是我想“另辟go径”,即从Linux机器同步到Mac。我想从本地Mac初始化操作。但是当我尝试: rsync -av --delete --iconv=utf-8,utf-8-mac mynas:remotedir/ localdir/ 我收到一个错误: iconv_open("UTF-8", "utf-8-mac") failed rsync error: requested action not supported (code 4) at rsync.c(118) [sender=3.0.9] rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync error: error in rsync protocol …
9 linux  backup  rsync  mac 

1
如果rsync已在源文件夹中删除,它们是否会删除本地文件?
这是我想做的事情: 本质上,将文件从一个网络存储设备同步到另一网络存储设备。 解决方案是从源网络存储到本地计算机进行rsync。然后从本地计算机rsync到目标网络存储。 但这只是打击我。我需要从源网络存储中删除的文件才能在本地计算机上删除。rsync是否可以将它们镜像,删除不在目标位置的文件?还是仅减少所需的数据传输量? 希望我能说清楚吗?
9 linux  backup  rsync 

2
rsync“不允许操作”
我正在尝试将简单的rsync同步到USB硬盘,命令是 rsync -az --modify-window=2 /home /mnt/exthd/tmp/ 我以root身份运行。 但是我收到很多似乎都与权限不足有关的错误: rsync: chown "/mnt/exthd/tmp/home/someuser" failed: Operation not permitted (1) rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_logout" failed: Operation not permitted (1) rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_profile" failed: Operation not permitted (1) rsync: chown "/mnt/exthd/tmp/home/someuser/.bashrc" failed: Operation not permitted (1) rsync: chown "/mnt/exthd/tmp/home/guest" failed: Operation not permitted (1) rsync: chown …
9 rsync 


4
Linux到Linux的10 TB传输?
我已经看过以前所有类似的问题,但是答案似乎无处不在,没有人在移动很多数据(100 GB与10 TB不同)。 从一个RAID阵列转移到另一个,千兆位以太网,免费的百科全书,XFS文件系统需要大约10 TB 。我最大的担心是传输中断,并且无法轻松恢复。速度会不错,但是确保传输更为重要。 通常,我只是tar和netcat,但是最近要移出的RAID阵列非常脆弱,而且如果它在中间过程中掉线,我需要能够恢复和恢复。我应该看rsync吗? 进一步研究这一点,我认为rsync可能太慢了,我希望避免花费30 天或更长时间。因此,现在我正在寻找有关如何使用netcat监视/恢复传输的建议。

2
如何使sshfs + VPN + git成为可容忍的工作环境?
当前,我正在从事的项目的代码库位于公司服务器的远程位置。它必须保持那样。远程git存储库也无法公开。 我当前的设置是: 连接到 VPN 运行sshfs以安装代码的副本 开始编写代码 完成后:ssh连接到远程服务器并在其中运行git命令 问题在于,VPN有时会sshfs掉线,因此我的安装中断,我的IDE冻结。我要做的是手动重新连接VPN,然后sshfs再次运行,然后恢复工作。 但是随着VPN跌倒次数的增加,它变得很烦人。 因此,我想知道是否sshfs为某种类型的缓存设置了任何设置,这些设置将允许我工作,并且仅在VPN恢复后才同步更改。 这可能没有任何意义,因为如果远程驱动程序不可用,则没有任何可写入的内容。那么,使用某种watch东西并用于rsync双向移动更改的另一种设置又如何呢(无论是保存文件时还是执行时git pull) 我不能只是git clone,因为我不能重现整个环境以在“本地”工作(数据库和其他东西) 该代码必须在他们的服务器中,以便我测试/查看我的工作,我必须访问一个URL,即我的沙箱。每当我要查看更改时,我都无法git push。
9 ssh  vpn  rsync  git  sshfs 

3
Rsync无法备份某些文件,出现错误22
我正在尝试在'/ nas'的NFS安装卷上使用简单的rsync备份整个服务器 这是我的rsync命令 rsync -sav -S --stats -H --numeric-ids --delete -D --exclude-from="/usr/local/bin/rsync_nas1_exclude" / /nas1/ 出现以下错误: rsync: chown "/nas1/home/8003/.local/share/icons/application-x-wine-extension-its.png" failed: Invalid argument (22) 要么 rsync: chown "/nas1/home/8003/.local/share/applications/wine/Programs/FxPro - Trader" failed: Invalid argument (22) 知道为什么吗?我使用'-s'参数来保护文件名
9 backup  rsync 

2
在rsync中,如何排除所有与模式匹配的目录?
在rsync中,我试图排除与模式匹配的子目录。但是,我无法使其正常工作。我遵循了在此处和在Google上找到的几个示例。但是,我没有得到正确的结果。这是我命令的选项: -avh --exclude 'branch*' --stats --delete --link-dest=$LNK 我的源目录结构是 /root /branch1 /branch2 /branch3 /other /stillAnother /etc 这是备份脚本的一部分。$ LNK是到前一天的rsync目标的链接。 我不想要/ root / branch1,/ root / branch2,/ root / branch3。或要同步的内容。但是,他们是。 这是我已经尝试过的排除位: --exclude=branch* --exclude='branch*' --exclude '/branch*' --exclude /branch* 感谢您的帮助/咨询。 编辑-解决“可能重复”标志 这个问题是关于目录的已知列表。我需要排除遵循模式的所有目录,即使这些目录尚不存在。即从我的示例,/branch*可以添加其他名称的目录。我需要使脚本适应未来的需要,并在添加与模式匹配的目录时避免编辑脚本,因为这些目录可能是临时的。
8 linux  rsync 

4
io.c中的rsync错误无法解释的错误(代码255)
我正在使用脚本在中执行rsync sudo crontab。该脚本执行2路rsync(从serverA到serverB并反向)。重新引导两台服务器计算机后,rsync无法正常工作sudo crontab。我还设置了一个新的cronjob,它失败了,错误是: rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.6] rsync: connection unexpectedly closed (0 bytes received so far) [receiver] 但是,从终端运行时,rync脚本可以按预期工作,不会出现问题。请帮忙。

1
上载的绑定接口:scp有效,而不是rsync
我需要在特定界面上上传文件。这不能通过iptables设置,因为我的脚本在多个接口上输出。 这工作正常: scp -oBindAddress=192.168.100.1 ... 但 rsync --address=192.168.100.1 仍在eth0(192.168.10.1)上发送 我怎么能强制rsync使用192.168.100.1? 任何的想法 ?
8 rsync  scp  bindings 

4
如何在Linux中轻松确认两个单独的目录具有完全相同的内容?
CentOS 5.x Mq问题似乎与此类似,但我不确定... 我有两个服务器(彼此完全隔离),每个服务器都有一个目录和子目录,这些目录和子目录应该具有相同的确切内容。 例如,目录布局可能类似于: 服务器A- /opt/foo/foob/1092380298309128301283/123.txt /opt/foo/foob/5094380298309128301283/456.txt /opt/foo/foob/5092380298309128301283/789.txt /opt/foo/foob/1592380298309128301283/abc.txt 服务器B- /opt/foo/foob/1092380298309128301283/123.txt /opt/foo/foob/5094380298309128301283/456.txt /opt/foo/foob/5092380298309128301283/789.txt /opt/foo/foob/1592380298309128301283/abc.txt 理想情况下,我想要一种进行递归检查并确认所有内容匹配的方法。 我也想避免使用任何第三方工具。 有任何想法吗?
8 linux  centos  rsync  files 

4
使用rsync移动文件夹时如何删除空的源目录?
rsync通过mv以下选项,可以非常传统地将其诱骗到移动文件夹中: rsync -axvvES --remove-source-files source_directory /destination/ 但是,我似乎无法做到的一件事是删除原始目录。该--remove-source-files标志就这样做了,除去了源文件,但也除去了源目录。我希望也有一个--remove-source-directories标志,但没有。 我该如何处理? 我想我只能rm -fr在搬家后发出一个,但是我宁愿将程序全部放在一个过程中,而不要引入潜在的错误。
8 bash  shell  rsync  zsh 

2
rsync的默认远程Shell是什么?
只是好奇,当您不在守护程序模式下使用rsync时,rsync使用的默认远程shell是什么?根据手册页,它可以通过rsh或ssh运行。但是,手册页中没有任何地方指定如何设置要使用的选项。因此,在运行它时,它会提示我输入密码,但是它似乎并未指示正在使用哪个远程Shell。我知道这可能是一个虚拟的问题,但我确实可以作一些澄清。谢谢!
8 rsync 

2
rsync:如何仅在最顶层目录中排除Dotfile?
当bash与下执行备份rsync,我想排除顶级目录中的所有点文件和隐藏目录,但不是那些另有目标目录。例如: /copyme.c /.dontcopythisfile /.dontcopythisdirectory/or_its_contents /directory/.butcopymetoo rsync -a --include=".includeme" --exclude=".*" . DEST无法在子目录中复制所需的点文件,但是诸如此类的变体--exclude="./.*"也会失败。 有什么建议吗?这是否需要过滤规则而不是简单规则--exclude?
8 regex  bash  rsync 

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.