1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<code>我的部落格已遷移到xdoujiang.com請去那邊和我交流</code>
<code>基礎環境說明及安裝</code>
<code>1、伺服器</code>
<code>serverA=192.168.1.124(debian7.8)</code>
<code>serverB=192.168.1.122(debian6.0.10)</code>
<code>2、需要将serverB下的目錄testtransfer(4.5G)下全部遠端複制到serverA下</code>
<code>3、需要用到軟體</code>
<code>1)apt-cache search pigz</code>
<code>pigz - Parallel Implementation of GZip(多線程壓縮)</code>
<code>2)apt-cache search pv |</code><code>grep</code> <code>"^pv"</code>
<code>pv - Shell pipeline element to meter data passing through</code>
<code>3)apt-cache search netcat</code>
<code>netcat - TCP</code><code>/IP</code> <code>swiss army knife -- transitional package</code>
<code>4)apt-get -y </code><code>install</code> <code>pigz</code>
<code>5)apt-get -y </code><code>install</code> <code>pv</code>
<code>6)apt-get -y </code><code>install</code> <code>netcat</code>
<code>7)apt-get -y </code><code>install</code> <code>wget</code>
<code>8)apt-get -y </code><code>install</code> <code>rsync</code>
<code>9)apt-get -y </code><code>install</code> <code>vsftpd</code>
<code>10)apt-get -y </code><code>install</code> <code>lftp</code>
<code>11)apt-get -y </code><code>install</code> <code>python</code>
<code>一、</code><code>ssh</code><code>+</code><code>tar</code><code>+</code><code>gzip</code><code>(pigz)</code>
<code>1、使用</code><code>ssh</code><code>+</code><code>tar</code><code>+</code><code>gzip</code><code>方式(</code><code>ssh</code><code>協定)在(serverB)上</code>
<code>time</code> <code>tar</code> <code>czf - testtransfer/|</code><code>ssh</code> <code>-q [email protected] </code><code>"tar zxf - -C /tmp"</code>
<code>real 13m20.771s</code>
<code>user 4m43.186s</code>
<code>sys 1m55.239s</code>
<code>2、使用</code><code>ssh</code><code>+</code><code>tar</code><code>+pigz方式(</code><code>ssh</code><code>協定)在(serverB)上</code>
<code>time</code> <code>tar</code> <code>cf - testtransfer/|pigz|</code><code>ssh</code> <code>-q [email protected] </code><code>"pigz -d|tar xf - -C /tmp"</code>
<code>real 12m7.335s</code>
<code>user 4m12.200s</code>
<code>sys 1m46.455s</code>
<code>參數說明</code>
<code>-d, --decompress Decompress the compressed input</code>
<code>二、nc+</code><code>tar</code><code>+</code><code>gzip</code><code>(pigz)</code>
<code>1、使用nc+</code><code>tar</code><code>+</code><code>gzip</code><code>方式(tcp協定)</code>
<code>nc -lp 55555|</code><code>tar</code> <code>-zxf - -C </code><code>/tmp</code><code>(serverA)</code>
<code>time</code> <code>tar</code> <code>-zcf - testtransfer/|pv|nc -w 1 192.168.1.124 55555(serverB)</code>
<code>real 11m31.341s</code>
<code>user 4m25.589s</code>
<code>sys 1m35.162s</code>
<code>2、使用nc+</code><code>tar</code><code>+pigz方式(tcp協定)</code>
<code>nc -lp 55555|pigz -d|</code><code>tar</code> <code>xf - -C </code><code>/tmp</code><code>(serverA)</code>
<code>time</code> <code>tar</code> <code>-cf - testtransfer/|pigz|pv|nc -w 1 192.168.1.124 55555(serverB)</code>
<code>real 10m42.789s</code>
<code>user 4m9.968s</code>
<code>sys 1m6.860s</code>
<code>-w secs timeout </code><code>for</code> <code>connects and final net reads</code>
<code>三、python或web伺服器</code>
<code>1、python web服務在(serverB)上</code>
<code>nohup</code> <code>python -m SimpleHTTPServer 50000 &</code>
<code>2、在(serverA)上使用wget去下載下傳</code>
<code>wget -r -q 192.168.1.122:50000</code>
<code>real 4m35.531s</code>
<code>user 0m0.360s</code>
<code>sys 0m33.218s</code>
<code>-m module-name Searches sys.path </code><code>for</code> <code>the named module and runs the </code>
<code>corresponding .py </code><code>file</code> <code>as a script.</code>
<code>四、</code><code>rsync</code><code>(</code><code>rsync</code><code>協定)</code>
<code>1、服務端配置(serverB)</code>
<code>1)配置rsyncd.conf</code>
<code>cat</code> <code>rsyncd.conf </code>
<code>[aaa]</code>
<code> </code><code>path = </code><code>/opt/testtransfer</code>
<code> </code><code>use chroot = </code><code>yes</code>
<code> </code><code>read</code> <code>only = </code><code>yes</code>
<code> </code><code>uid = jimmy</code>
<code> </code><code>gid = jimmy</code>
<code> </code><code>auth </code><code>users</code> <code>= www-data</code>
<code> </code><code>secrets </code><code>file</code> <code>= </code><code>/etc/rsyncd</code><code>.secrets</code>
<code>2)配置驗證密碼</code>
<code>cat</code> <code>/etc/rsyncd</code><code>.secrets</code>
<code>www-data:123456</code>
<code>3)權限</code>
<code>chmod</code> <code>600 </code><code>/etc/rsyncd</code><code>.secrets</code>
<code>2、用戶端配置(serverA)</code>
<code>1)配置密碼</code>
<code>123456</code>
<code>2)開始傳輸</code>
<code>time</code> <code>rsync</code> <code>-az --password-</code><code>file</code><code>=</code><code>/etc/rsyncd</code><code>.secrets [email protected]::aaa </code><code>/opt/111</code>
<code>real 9m46.331s</code>
<code>user 0m5.600s</code>
<code>sys 1m0.448s</code>
<code>-a, --archive This is equivalent to -rlptgoD. </code>
<code>-z, --compress With this option, </code><code>rsync</code> <code>compresses the </code><code>file</code> <code>data as it is </code>
<code>sent to the destination machine, </code><code>which</code> <code>reduces the amount of data being </code>
<code>transmitted -- something that is useful over a slow connection.</code>
<code>五、</code><code>ftp</code><code>(</code><code>ftp</code><code>協定)</code>
<code>1)配置vsftpd.conf</code>
<code>cat</code> <code>/etc/vsftpd</code><code>.conf</code>
<code>listen=YES</code>
<code>local_enable=YES</code>
<code>pam_service_name=vsftpd</code>
<code>time</code> <code>lftp jimmy:[email protected] -e </code><code>"mirror /opt/testtransfer;quit"</code>
<code>real 7m29.727s</code>
<code>user 0m1.252s</code>
<code>sys 0m46.495s</code>
<code>PS:serverB上的jimmy使用者建立過的,密碼是redhat</code>
本文轉自 xdoujiang 51CTO部落格,原文連結:http://blog.51cto.com/7938217/1656687,如需轉載請自行聯系原作者