网站设计制作报价图片欣赏,wordpress福利,网站开发考研是什么专业,东莞建站模板代理在开发过程中总会遇到这种情况#xff0c;就是需要将一个文件从一个机器拷贝到其他的很多台机器中#xff0c;最简单的方法是用U盘拷出来再一个一个机器的插进去拷贝#xff0c;另一张方法则是利用飞鸽传书或者QQ等工具传输#xff0c;但是都不是很方便#xff0c;因为每次…在开发过程中总会遇到这种情况就是需要将一个文件从一个机器拷贝到其他的很多台机器中最简单的方法是用U盘拷出来再一个一个机器的插进去拷贝另一张方法则是利用飞鸽传书或者QQ等工具传输但是都不是很方便因为每次只能拷贝到一个机器。还有一种方法是讲此文件共享但是这会带来很多权限的问题。本文提高了一个可以同时将一个文件从一个机器拷贝到多台机器的方法采用的方式是链式传输(参照的博客链接http://engineering.tumblr.com/post/7658008285/efficiently-copying-files-to-multiple-destinations)如下图所示。本文的传输方式需要利用网络工具netcatnetcat号称Linux下的瑞士×××一般在Linux中已经安装了。首先介绍机器1的shell脚本为tar cv some_files | pigz | nc hostname_of_first_box 1234先将文件进行压缩这里先用tar再用pigz使之变成tar.gz的形式而gz的压缩没有使用gzip而是使用pigz因为pigz可以使用多核多线程的方式进行压缩提高压缩速度(性能区别见博客http://imysql.cn/2012/12/03/using-pigz-instead-of-gzip.html)。压缩了以后利用netcat发送出去。机器2和机器3的脚本为mkfifo myfifonc hostname_of_next_box 1234 nc -l 1234 | tee myfifo | pigz -d | tar xvf -建立一个fifo然后将接收到的文件送入fifo然后fifo将文件再传到下一个机器中。同时将接收到的文件进行解压缩。最后一个机器机器4的脚本为nc -l 1234 | pigz -d | tar xvf -同样也是接受文件然后进行解压缩。