利用"tar|ssh"来远程传输文件
-- 作者:疯魔老杨(Crazy.LaoYang)
说明:
首先将两个系统配置成无认证直接登录。
[注:以下示例,是基于本地与远程主机配置了SSh自动认证登录,如没有配置自动登录,请采用"ssh user@host-ip",再输入密码]
A.本地--->远程
1. 本地tar打包压缩 ---> 远程生成压缩文件(可以用dd生成,或是用cat生成),如:
#cd /var/www/html
#tar -czvf - . |ssh $remote-host-ip "cat >/path/filename.tar.gz"
或
#tar -czvf - . |ssh $remote-host-ip "dd of=/path/filename.tar.gz"
2. 本地tar打包 ----> 远程解包装(不进行压缩)
# cd /var/www/html
# tar -cvf - . |ssh $remote-host-ip "cd /$target-path;tar -xvpf -"
3. 本地tar打包压缩 --> 远程接收压缩包,并解开压缩
# tar -czvf - . -C /var/www/html |ssh $remote-host-ip "cd /$target-path;tar -zxvpf -"
B.远程--->本地
1. 远程打包压缩 --> 本地接收
#ssh $remote-host-ip "cd /path;tar -czvf - ."|(cd /path;cat >file.tar.gz)
或
#ssh $remote-host-ip "cd /path;tar -czvf - ."|(cd /path;dd of=file.tar.gz)
2. 远程打包压缩 --> 本地接收,解压缩
#ssh $remote-host-ip "cd /path;tar -czvf - ."|(cd /path;tar -zxvpf -)
阅读(3107) | 评论(0) | 转发(0) |