天天看點

linux下目錄傳輸多種方法及測試(debian)

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 &amp;</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,如需轉載請自行聯系原作者