从'$ @'数组中的每个参数中删除尾部斜杠的最简单方法是什么,以便rsync
按名称复制目录?
rsync -a --exclude='*~' "$@" "$dir"
Run Code Online (Sandbox Code Playgroud)
标题已更改以澄清.要了解有关多个尾部斜杠的注释和答案,请参阅编辑历史记录.
我想使用rsync 在两个方向上同步两个目录.
我指的是传统意义上的同步(不是 rsync手册中的含义):
我想在两个方向更新目录,具体取决于哪个更新.
这可以通过rsync完成(最好是以Linux方式)吗?
如果没有,还有其他解决方案吗?
我在使用rsync语法时遇到问题,我想知道我的方案是否可以用rsync实际处理.首先,我已经确认rsync在我的本地主机和远程主机之间正常工作.在目录上执行直接同步是成功的.
这是我的文件系统的样子:
uploads/
1260000000/
file_11_00.jpg
file_11_01.jpg
file_12_00.jpg
1270000000/
file_11_00.jpg
file_11_01.jpg
file_12_00.jpg
1280000000/
file_11_00.jpg
file_11_01.jpg
file_12_00.jpg
Run Code Online (Sandbox Code Playgroud)
我想要做的是只对子目录中以"file_11_"开头的文件运行rsync,我希望能够只运行一个rsync作业来同步子目录中的所有这些文件.
这是我正在尝试的命令:
rsync -nrv --include="**/file_11*.jpg" --exclude="*" /Storage/uploads/ /website/uploads/
这导致在我的干运行中标记0个文件以进行传输.我已经尝试了--include和--exclude语句的各种其他组合,但要么继续得不到结果,要么得到所有内容,好像没有设置包含或排除选项.
任何人都知道如何做到这一点?
我正试图通过Windows(cygwin)上的ssh将更改推送到我的服务器rsync
.我使用的命令是:
rsync -rvz -e ssh/cygdrive/c/myfolder/rsyncuser@192.168.1.110:/ srv/www/prj112/myfolder /
/srv/www/prj112/myfolder/
由...拥有rsyncuser
.我的问题是尽管rsync
子目录是在发布时创建的,但每个目录都被赋予了默认权限,d---------
因此rsync
无法复制其中的任何文件.
我该如何解决?
我有一个EC2实例正在运行,我可以通过SSH进入它.
但是,当我尝试rsync时,它给出了错误Permission denied(publickey).
我正在使用的命令是:
rsync -avL --progress -e ssh -i ~/mykeypair.pem ~/Sites/my_site/* root@ec2-XX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com:/var/www/html/
Run Code Online (Sandbox Code Playgroud)
我也试过了
rsync -avz ~/Sites/mysite/* -e "ssh -i ~/.ssh/id_rsa.pub" root@ec2-XX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com:/var/www/html/
Run Code Online (Sandbox Code Playgroud)
谢谢,
我有以下设置来定期从服务器A到服务器B的rsync文件.服务器B使用以下配置运行rsync守护程序:
read only = false
use chroot = false
max connections = 4
syslog facility = local5
log file = /var/adm/rsyncd.log
munge symlinks = false
secrets file = /etc/rsyncd.secrets
numeric ids = false
transfer logging = true
log format = %h %o %f %l %b
[BACKUP]
path = /path/to/archive
auth users = someuser
Run Code Online (Sandbox Code Playgroud)
从服务器AI发出以下命令:
rsync -adzPvO --delete --password-file=/path/to/pwd/file/pwd.dat /dir/to/be/backedup/ someuser@192.168.100.100::BACKUP
Run Code Online (Sandbox Code Playgroud)
BACKUP目录完全是对每个人的读/写/执行.当我从服务器A运行rsync命令时,我看到:
afile.txt
989 100% 2.60kB/s 0:00:00 (xfer#78, to-check=0/79)
Run Code Online (Sandbox Code Playgroud)
对于我希望备份的目录中的每个文件.当我编写tmp文件时它失败了:
rsync: mkstemp "/.afile.txt.PZQvTe" (in BACKUP) failed: Permission denied (13)
Run Code Online (Sandbox Code Playgroud)
几小时的谷歌搜索后,我仍然无法解决似乎是一个非常简单的许可问题.建议吗?提前致谢.
附加信息 …
我是rsync的新手,我不明白我得到的输出,有人可以帮助我,
输出包含诸如的行,
<f.st...... somefile.txt
<f+++++++++ someOtherfile.zip
.d..t...... someDir/
Run Code Online (Sandbox Code Playgroud)
我不明白左边的选项是什么意思,我在谷歌找不到答案.谢谢.
当我rsync
使用--progress
标志运行时,我获得有关传输的信息,如下所示.
path/to/file
16 100% 0.01kB/s 0:00:01 (xfer#10857, to-check=427700/441502)
Run Code Online (Sandbox Code Playgroud)
第二行中的数字是什么意思?我知道其中有些是什么,但其他人的意思是什么(用下面标有???)?
16 ???
此文件中已完成100%的转移
当前文件传输速度为0.0.1kB/s
0:00:01:当前文件传输过去的时间
传输的文件数为10857
427700 ???
441502 ???
我可以这样使用rsync:
rsync -e ssh root@remote.com:/path/to/file:/path/to/second/file/ /local/directory/
Run Code Online (Sandbox Code Playgroud)
还是我必须做别的事?
我们需要尽快将15TB
数据从一台服务器传输到另一台服务器.我们目前正在使用,但当我们的网络能够(经过测试)时,我们rsync
只能获得速度.我已经完成了对磁盘,网络等的测试,并认为只是rsync一次只传输一个文件,导致速度减慢.150Mb/s
900+Mb/s
iperf
我找到了一个脚本来为目录树中的每个文件夹运行不同的rsync(允许你限制为x号),但我无法使它工作,它仍然只是一次运行一个rsync.
我找到了script
这里(复制如下).
我们的目录树是这样的:
/main
- /files
- /1
- 343
- 123.wav
- 76.wav
- 772
- 122.wav
- 55
- 555.wav
- 324.wav
- 1209.wav
- 43
- 999.wav
- 111.wav
- 222.wav
- /2
- 346
- 9993.wav
- 4242
- 827.wav
- /3
- 2545
- 76.wav
- 199.wav
- 183.wav
- 23
- 33.wav
- 876.wav
- 4256
- 998.wav
- 1665.wav
- 332.wav
- …
Run Code Online (Sandbox Code Playgroud) rsync ×10
linux ×4
bash ×2
shell ×2
amazon-ec2 ×1
arguments ×1
darwin ×1
permissions ×1
simultaneous ×1
ssh ×1
stripslashes ×1
ubuntu-12.04 ×1
unix ×1
windows ×1