返回列表 发新帖

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

636.3k 12
swmozowtfl 发表于 2015-7-10 20:45:36|湖北 | 查看全部 阅读模式
  本文实例讲述了python操作ssh实现服务器日志下载的方法。分享给大家供大家参考。具体实现方法如下:- O/ ]0 a8 D* N7 N8 P
  ?
4 b8 f0 Z$ `, L/ W9 n2 l8 E" x
            1
/ _- U8 h( Q4 ?            2# }" c1 k' K; c; G5 o+ j
            3- W1 V$ H; z* T: Q
            4
9 D* M* e, a$ H4 v7 ^  S            53 k- P+ c1 K: F+ p$ x% f' O) C, n
            6
8 ~1 }0 ^; C( e& k            7
3 b. T- V( S7 |8 [6 M! m, H            8
8 W. U1 P* F7 {# J$ w! V1 y' q7 u            9  [; |; \1 Y7 Z+ k( b
            100 ^" W3 a! o6 p
            11
$ w9 U4 x' V0 ^6 x' V% q* M            125 M# j: D4 X7 e' E  o
            13
: J, U* s# w) [0 d, I& k; Q3 G0 ~; Q$ n            14' `, _7 X, h  x& a" l+ o1 M
            15! I$ N0 a; b3 L- i/ {) e7 m
            16; W6 C& ~6 ~$ l& x5 l
            17
) g/ K9 p2 }2 @7 T" l) t7 E4 E6 y            18: F7 d7 G5 G' Z: i$ V2 O
            196 Z" I  y7 d. \- \$ T
            20
7 e% N* c( |$ H( W8 T2 K0 |4 O, o            21
' ]9 y, v+ i/ d3 u7 i9 i& B            224 ^/ F7 I6 [; s  x6 M  I6 F! o- @
            23
9 J* [% L5 r' L3 F$ K% o" [            24
$ \) k3 ?1 J8 H            25
* |+ G: A/ i" u+ b' R            26
0 W- {+ h' B" I4 X% m5 [) g            27
, |& v6 _" K9 q1 u' Y& T            282 P$ j+ _+ [1 ^& B
            299 E( B- }; y, y' ~1 |6 w* R
            30
" z: Z; V. |" D2 _  C7 |            31
: D, c, [8 O$ q" h# Y  ?            32
  z, J! _! P! \# q' a            33
% f; N: z& f- _: G( ]            346 S9 V9 a# v% ^- T) ^
            35& C" y: T2 r5 W4 C( E+ r; l0 L
            36
1 L: ^- _8 Q$ v+ [4 t9 J            37
( U5 G( d; |$ Y! f* e3 x( f            38) S; F- p/ R0 L- |5 D' ~* F
            399 S' ?' R- R& N' T0 Q, ^) }4 ~2 V" A
            409 j9 [, M9 d9 K& P% y* Q0 b# Y
            41) ?' P% J0 y1 }) s* `9 @4 [
            42
5 e1 W! k6 k2 N9 q3 P& @            43
6 ^8 C6 ~+ j  J1 y! O            
                        #coding:utf-8. k* g- q2 Y) I* t0 j; e
            """
; i7 r% D$ g8 v4 m+ t* _2 s            ssh操作例子 实现了服务器日志下载% o% @2 R% o# _# Z8 g8 P' v
            2012-08-24. g0 [8 M; a7 |4 m# H( ?  X( J6 k8 D
            yywolf
/ b; R, Z. o" s4 z/ `' Z            """+ Q0 Y# ~" A; G1 L  a, \
            import paramiko
5 P# c/ n) V% g5 Z            import time1 J5 T9 p9 w) Q2 G2 e
            hostname="????"* _9 k7 ~( m5 o9 J
            port=22' |# ]4 t( ~! D$ c% [) p5 D
            username="app"+ ?# i1 Q5 ?: X# F3 p, E$ p
            password="????"
' U1 @5 X: N6 L5 _% |& ~( m            if __name__=="__main__":5 R1 e5 f- a" T4 O
            # paramiko.util.log.log_to_file('paramiko.log')7 J$ q; }% h. y( F; E4 I/ e/ M
            s = paramiko.sshclient(); i; N3 S8 z3 r9 l5 @% c) W
            s.load_system_host_keys()
3 W  o  w0 Q6 w            s.set_missing_host_key_policy(paramiko.autoaddpolicy())
, X1 K6 F, k; Y' ]            s.connect(hostname,port,username,password,timeout=4)& ~2 S, I5 g: S( T
            stdin,stdout,stderr = s.exec_command("sh  ~/log/check")- Y$ X% o2 I& t' R/ |( b
            print stdout.read()) {! u1 r9 m. R+ z
            s.close()
, Y" i! B1 H& N" {; I$ A1 b1 |& }            #sftp
1 B2 V+ d; X& T% Y/ x            t = paramiko.transport((hostname,port))
% E: ^. d1 _, m9 X( v0 k            t.connect(username=username,password=password)$ d+ n. r2 \; G( p+ V
            sftp = paramiko.sftpclient.from_transport(t)
4 V1 R$ P' [, n            files = sftp.listdir("/home/app/log/"), B. k$ p9 a7 G0 U, h. ?8 _
            for f in files:! j2 |2 I2 I& ^
            print f
8 E; |1 b) D0 u0 |4 Z8 {            filetime = time.strftime('%y-%m-%d',time.localtime(time.time()))+ m. z! @% f9 d4 ]
            #需要下载的文件 和下载后的文件名
3 e, E8 W% e0 o/ g0 P) K! d( }            sftp.get("/home/app/log/server.txt","c:\\users\\administrator\\desktop\\server.txt")" V2 a, m3 y. L7 G! w
            sftp.get("/home/app/log/"+filetime+".log.zip","c:\users\administrator\desktop\\"+filetime+".log.zip")9 a+ e! p: Y6 }) h7 z# W. K) G
            #raskey) \8 a/ P3 @. p1 c
            pkey_file = "e:\\yy\\tools\\key\\rsa.txt"0 l/ Y% s* ^1 b
            key = paramiko.rsakey.from_private_key_file(pkey_file)
$ K" t* c# q# w            s = paramiko.sshclient()* X( l: R7 E; F% _: v" v
            s.load_system_host_keys()
* s0 L( x8 ^, o4 t6 T$ a3 x# e2 }            s.set_missing_host_key_policy(paramiko.autoaddpolicy())
2 b( u# A2 G- w, R            s.connect(hostname,port,username,pkey=key)
; v% }5 G! F: h1 h7 I6 S3 `! R2 C            stdin, stdout, stderr = s.exec_command("ls -l  /home/app/log")
. I$ E9 u( [: c; w! B" p            print stdout.read()9 L6 |( ?1 F4 y
            s.close(), L; e; j. a: m
            raw_input()! Y0 K0 w; |; E: z; D3 T# A
            
% `$ e6 l  e9 u8 c0 J4 P& l            
  希望本文所述对大家的python程序设计有所帮助。
* N' t; W7 h9 ]8 b) A- ~8 S# X更多技术文章信息请查看: 技术文章

回复|共 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|山东 | 查看全部
的确好帖子,推荐加精华, v, K" x* y8 G: l" T9 G

' ?, S2 e7 c& E( K7 W5 |
! I" \) g7 V# W0 U/ P! P1 [, W. I5 f+ D5 }2 B

  A; r0 q; D- K6 ]1 c  P; m
! L5 @( u; X1 p( y6 F# V; z
/ ?- z5 u+ [+ |: O0 q6 Q
3 P. t$ R! F6 J- Y& r8 n7 Z+ R* b. t9 i+ b

! {' j/ V' E+ Y& [/ m& N+ H: E& G% Y/ a5 C( k3 v

3 I- A! Q) U- r
' ]2 i$ o6 K. Y4 Z% t
                               
登录/注册后可看大图

* v0 z# r1 q/ D
1 g! t! l; x3 v. p6 W& ~) N) g3 Q8 F
                               
登录/注册后可看大图
wwdu926a 发表于 2017-4-11 15:58:50|韩国 | 查看全部
求您了,给个机会
gevaemaidovef 发表于 2017-4-11 15:59:47|墨西哥 | 查看全部
要睡觉了 呵呵

回复

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

本版积分规则

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