linux下的批量上传文件到部署服务器,有哪些好用的命令或者工具

2012 年 9 月 5 日
 gavingeng
在之前的公司,是有中控机来做scp文件到各个部署服务器,现在的公司没中控的概念,都走本机,一般都是写脚本来做scp上传,如:

for((i=1;i<=15;i++));do echo $i;scp xxx.xxx user@192.168.3.$i:/tmp ; done

或者是
hosts="A B C D E F G H ..."
for host in $hosts;do echo $host; scp xxx.xxx user@$host:/tmp ; done

但是这样有个问题,就是在scp一个大的文件时,传完一个文件之后,才会接着在foreach下一个服务器,有时会耽误一些时间!

不知各位有没有什么好的办法来解决!
11891 次点击
所在节点    Linux
44 条回复
gavingeng
2012 年 9 月 11 日
@orzjerry
git/svn太麻烦了,不划算,而且传的也不是很快,再者如果是中控机的话还是不错的,其他就不好说了!

不过现在用的比较多的是
for((i=1;i<=15;i++));do echo $i;scp xxx.xxx user@192.168.3.$i:/tmp & done
然后通过cssh上去比较文件的md5来做 md5sum xxx.xxx
fire9
2012 年 9 月 11 日
Capistrano+git+puppet
lemolee
2012 年 9 月 11 日
zhuf
2012 年 9 月 11 日
scp?
hyq
2012 年 9 月 11 日
用&后台运行或者用python多线程
gavingeng
2012 年 9 月 16 日
@hyq
python多线程?我记得是有个包,但忘了是哪个了
fanweixiao
2012 年 9 月 17 日
其实git很好,配合自己写hook,不用很复杂的架构就可以批量搞定这些:)
sdslnmd
2012 年 9 月 22 日
scp rsync 区别是?
xhat
2012 年 9 月 22 日
一直用rsync,很方便。
cabbala
2012 年 9 月 22 日
其实用shell也能写多进程。。。经常给2000多台机器分发文件的路过,要是串行分发,会死人的
Semon
2012 年 9 月 22 日
rsync +1
tolbkni
2012 年 9 月 22 日
@fire9 Capistrano + rsync + puppet
+ 10086
hzymyp
2012 年 9 月 22 日
fabric
zava
2012 年 9 月 23 日
rsync
xinzhi
2012 年 9 月 23 日
scp -r 也是可以用的。
mengzhuo
2012 年 11 月 3 日
必须是fabric
组合上git或者svn就更牛掰了
zhairuo
2012 年 11 月 3 日
rsync +1
wyx
2012 年 11 月 26 日
还是用scp,把scp这个部分封装成一个独立的函数,然后加一个&,可以用一个子进程来进行cp的事情
voidman
2012 年 11 月 27 日
rsync +1
Renylai
2012 年 11 月 27 日
rsync +1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/46919

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX