返回列表 发新帖

python操作ssh实现服务器日志下载的方法

636.1k 12
swmozowtfl 发表于 2015-7-10 20:45:36|湖北 | 查看全部 阅读模式
  本文实例讲述了python操作ssh实现服务器日志下载的方法。分享给大家供大家参考。具体实现方法如下:1 }2 U% K7 m# S# C4 w
  ?
) u8 z( ]% q, U" Q9 q
            1* V- O, @4 e5 u( k3 b! X5 ~
            2
# O6 \! M% ]6 u# C' k) p' n            3! k! ~9 W6 E8 J) D* g8 Q: ^
            4  l& s# H3 M# l% X
            5
2 j7 J( G- C: h6 `4 j            6
9 ~3 ?0 `; s; ~! r/ |            7
) v* M& A  L6 w5 c/ W. T1 y            8& d% ?* m, n$ U4 p, M
            97 T1 c9 m: k2 ?* t1 J4 T2 L, z
            10) `/ ]* t5 b. u3 A2 @! Z- y
            11) {7 a" g5 u) X2 S
            127 o+ I4 |; S7 D% n$ Y# ]
            130 u6 K2 b# [% m/ z# s
            14
' o# s1 L2 @1 y( Z1 @$ j: S! K            15
7 ?* z5 l& s9 d4 F0 n, @            16# p- Z, u3 ^+ y0 h
            171 }9 E' s2 a$ `; F4 r( _$ Y- Z4 U
            18
- F5 y5 o3 }, C& y# e            19, w! x! {: S- x2 k
            20
& v$ F' J" a$ j# E- i            21# o+ w, r' x  \4 C& t+ ^" d
            229 i* p& y3 w& G8 k8 c+ I# K
            23
6 m4 ?& ^) L/ U3 x) @, w+ i            24
0 j( C9 H, ^9 f" O9 X2 n            25
; h+ i" }0 @- L3 Q7 y            261 `0 P+ {/ q& G- e
            274 D: V  w1 k( m/ F! T  J
            28
' J& V+ |9 k$ s4 P1 k            29! \7 F* S/ J& y. |
            30
; H8 r; J2 ^6 k0 Z& a9 Q( U            31! Y  l0 V" d! q- `8 Q# f9 @+ U
            32
; P/ @; c. `0 c5 F; L' _) `            33
% {& @; w9 ?2 A: G) T* K            342 Y; j/ T8 M# R* @
            35
. b- R1 g* w1 X            36; t( Q$ A# i2 ]1 `1 j
            37
  U$ A* H' R3 g+ {% C# C            38: @+ a0 C. V% ]
            39
. f4 P1 ~3 T/ n8 ~5 d6 p4 D; [            40
) B8 h: x, _! w7 d            41/ ?1 B$ K3 T7 O* M, ?" M0 V# Z
            42
& y% g- R! h& O4 X/ y            43* v1 g& p! T% S3 Z& K  C4 g+ H
            
                        #coding:utf-8
, ?6 g8 B% a/ v" h& V& Z            """/ n# ~4 l, k. V0 S( l
            ssh操作例子 实现了服务器日志下载
/ b8 D) p, B# q2 b6 D            2012-08-24
  g9 ~, x# I5 i5 @/ e            yywolf
- s: i9 {% q3 Y  O, _9 X            """
+ ]1 m) h4 H0 @2 s$ z2 X            import paramiko4 j: b7 e$ u) m% D
            import time) g* q+ Y1 b2 t9 ^1 X9 X
            hostname="????"
& E+ P% k4 a+ O) m2 i( z* v2 U            port=22) O6 u. H: x) r# A" e0 l
            username="app": k3 _( p% G7 X; g8 x, j
            password="????"
( P% k8 S4 |) T+ N( B4 C9 m            if __name__=="__main__":1 D% L& A' U* T; n
            # paramiko.util.log.log_to_file('paramiko.log')* ^  v2 e/ {9 J5 z# d5 ]" c2 C
            s = paramiko.sshclient()4 M/ ~" s  Q% s
            s.load_system_host_keys()" k& O( F. K! P0 \
            s.set_missing_host_key_policy(paramiko.autoaddpolicy())
3 x+ W1 I: v+ m* s  M            s.connect(hostname,port,username,password,timeout=4)
$ \4 g7 s- z6 i3 `1 y% u            stdin,stdout,stderr = s.exec_command("sh  ~/log/check"), B: w& {2 b- i3 F6 p* Y; H" V
            print stdout.read()( d% Y  [3 F! G1 ^/ E1 i( O
            s.close()
9 V4 E2 h( ~2 k; |            #sftp
1 ], i, i1 Z# V            t = paramiko.transport((hostname,port))
0 t4 n3 h$ n5 M" \0 C$ z5 W            t.connect(username=username,password=password)' F( @, j; r  d4 g  }* O
            sftp = paramiko.sftpclient.from_transport(t)
7 r+ [2 J# z' C$ f2 G  K  ?" x            files = sftp.listdir("/home/app/log/")
. S4 i2 z  h. k! C            for f in files:
7 j; S' z; f9 y            print f
/ ]0 n  M, E8 v+ R) Q, `2 v. Y            filetime = time.strftime('%y-%m-%d',time.localtime(time.time())): c- L0 |2 A# v. a& O7 b* K) M
            #需要下载的文件 和下载后的文件名: c6 d# }! p0 d' p" o
            sftp.get("/home/app/log/server.txt","c:\\users\\administrator\\desktop\\server.txt")
  ]& E, ~) d4 z- @+ ~9 z) W/ V            sftp.get("/home/app/log/"+filetime+".log.zip","c:\users\administrator\desktop\\"+filetime+".log.zip")
0 v, W6 n: E# J9 w9 x& L            #raskey' Z8 D3 E/ m% q- Y+ L* ]
            pkey_file = "e:\\yy\\tools\\key\\rsa.txt"3 P: a! \6 O, V3 V) K& n  ~! u" `
            key = paramiko.rsakey.from_private_key_file(pkey_file)
/ Z0 K& R  H2 V+ ~            s = paramiko.sshclient()% K' E; P. R9 E6 }2 o
            s.load_system_host_keys()
. [8 z# E% ?) ~( _# e. ]            s.set_missing_host_key_policy(paramiko.autoaddpolicy()): U) g1 F( `3 v- `3 _
            s.connect(hostname,port,username,pkey=key); J) l* K7 Y0 Y1 T
            stdin, stdout, stderr = s.exec_command("ls -l  /home/app/log")) A0 `7 T2 Q7 }/ q
            print stdout.read()/ D+ W  o$ H3 k* D2 A# G
            s.close()- @3 y; o0 j1 W2 G* a; _5 Q
            raw_input()
+ j7 T" D4 A0 i$ X. I* q            ! t; k; `. U( w; x1 O% ?& r8 t
            
  希望本文所述对大家的python程序设计有所帮助。
* M( \, L/ U5 V8 l更多技术文章信息请查看: 技术文章

回复|共 12 个

Acropozelan 发表于 2015-10-10 10:58:45|浙江 | 查看全部
什么啊
effoggikeftor 发表于 2015-10-10 10:59:39|黑龙江 | 查看全部
唉!猪!你怎么了?
GoodyFouppy 发表于 2015-10-10 10:59:42|美国 | 查看全部
@,@..是什么意思呀?
bqtklouu 发表于 2015-10-10 11:00:09|冰岛 | 查看全部
这篇帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范(不好意思回错帖了
bqtklouu 发表于 2015-11-13 12:19:24|美国 | 查看全部
这是怎么了啊??
wwzcdenleclv 发表于 2015-11-13 12:19:38|美国 | 查看全部
怎么就没人拜我为偶像那??
alapScady 发表于 2015-11-13 12:20:27|墨西哥 | 查看全部
貌似我真的很笨????哎
seazvyt 发表于 2015-11-13 12:20:30|加拿大 | 查看全部
那个家 让它沉下去吧! 不要啦
GoodyFouppy 发表于 2015-11-13 12:20:36|INNA | 查看全部
出来混 迟早都是要灌的——不灌水怎么混啊
tqyjf Lv.3 发表于 2015-11-16 00:58:07|山东 | 查看全部
的确好帖子,推荐加精华0 ?0 ~9 W/ ?2 M" |8 l$ Y3 \

+ A& m7 E8 W3 z/ b
4 u( L" ?! m& t6 r" h" ^( C  F( N4 y, x4 \
( d9 @4 \; ~! X0 m

! A* i0 f4 J8 u* K/ d2 @- p7 `0 P0 b) U: I: p) z& ~
) j, g" x) V6 x. D) u

4 n1 _" u0 ], q$ r8 v* _, |' }7 N9 Q9 z' t: A
4 g! Y! O* |- ^! s$ u$ M
$ B1 ]# ]# A$ d( r9 Q2 P

# w  K$ D& h; G                               
登录/注册后可看大图

8 {# {) Z% O9 q% ~/ x6 g

4 I9 }* v6 S1 y. ^                               
登录/注册后可看大图
wwdu926a 发表于 2017-4-11 15:58:50|韩国 | 查看全部
求您了,给个机会
gevaemaidovef 发表于 2017-4-11 15:59:47|墨西哥 | 查看全部
要睡觉了 呵呵

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 站长技术交流论坛|互联网技术交流平台|Ai技术交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表