利用NetCat压缩传输文件
在管理MySQL、初始化服务器、克隆从服务器和进行备份/还原操作时,复制、压缩和解压大文件(常常是跨网络的)是很常见任务。
今天在High Performance MySQL上面看到如何高效地传输复制文件介绍给大家
这里面要用到NetCat,一个Linux下的高效读、写TCP/UDP连接的工具
具体操作如下:
1.在客户端运行如下命令:
$ nc -l -p 12345 | gunzip -c – > /var/lib/mysql/mydb/mytable.MYD
在CentOS下要不用参数-p?
2.在服务器端运行如下命令
$gzip -c – /var/lib/mysql/mydb/mytabale.MYD | nc -q 1 server2 12345
或者直接用tar命令
$ nc -l -p 12345 | tar xvzf –
$ tar cvzf – /var/lib/mysql/mydb/mytable.MYD | nc -q 1 server2 12345
利用NetCat比先在源服务器上面压缩再传输更高效一些,它将压缩、复制文件和传输的另一端解压缩文件全部放在一个步骤里完成。因为磁盘活动被降低到只要在服务器上面读,在目标服务器上面写,所以极大地降低了磁盘I/O。
也可用用SSH实现,但是SSH需要加密传输,而NetCat是直接把“裸”数据进行跨网传输。
分类: Linux