返回列表 发新帖

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

636.5k 12
swmozowtfl 发表于 2015-7-10 20:45:36|湖北 | 查看全部 阅读模式
  本文实例讲述了python操作ssh实现服务器日志下载的方法。分享给大家供大家参考。具体实现方法如下:
3 N9 D. w! N- R: g2 c/ S. M7 b  ?
1 V( {6 b$ G$ a$ u+ I; j7 E
            1( r7 f$ U/ h4 G' i
            2- r0 q5 |' l/ z, L) b1 p
            3" z7 s2 `* C% [1 [' W) i- O
            4
4 M$ `7 {1 J( G) x" L6 V            5
- W8 M& u; x* }- V8 w6 A/ k            6
8 ?: G+ ^0 K, n- ?2 u            7
& ?7 {5 o/ }+ n" F: m# L            8
# A+ l2 y) t. V6 p2 q            9
" {0 w% _, d( O9 m: Y: z3 i* b            10! y/ z4 N2 t( B
            11
8 h3 C7 P& a% ]+ }0 M  q9 `            12" {$ I* C" \6 E8 d- R
            13% G+ y( ^3 k  Y0 x* `4 `
            14! W" o/ E' d* I  N) z) n
            15
1 C8 F: p8 _9 u6 a            16
$ g# W2 ?" e) F  K            17- p, G: A* D, W
            18( f- v, q% \% C6 W
            191 [( c( \( _, ?) w. h% v
            20
3 |! T% K2 s+ w! p5 v7 n# X            21
. y  A! O' P6 Y) ?            22
; p  G$ d) q% k; j6 D            23
9 _) x" \# c3 P: I$ A1 n7 e            242 z% X( B1 W  h4 ~. ?
            25
3 r0 B2 ~1 m, q& E+ D: `, \            26
' L6 h( q/ b$ C! X# t* I            272 B) K' m! a4 |  w4 j
            28$ t, S: M/ x6 _4 r- Q) F- W4 p2 I
            29
& m6 n0 w, H* a, t3 D% I! S/ m            30. j  W7 }$ a1 C! D5 E
            31
  y8 F3 u4 z& x0 V& _( d# s            320 d4 G* X/ M# _3 N9 D2 l& t+ t  ^, e
            33; q, e0 B' O! f5 z' r
            349 {9 ?4 S7 |4 |% B
            35* Y: j) ~6 u( p3 B- o1 N( p3 Z
            36
2 Z2 V: i( e5 C# a" o, B9 |; O            37# m' A7 {4 t9 [
            388 R; {; C5 B3 U+ P7 X$ y  l
            39
3 u, W2 H* n! M9 k2 {            40
: b7 Z, v+ {( X5 l+ Z7 a            41
* l" w  X# ~8 [            42; D1 e+ f* x1 G- W; g; y. o
            43; [* @  k1 A2 l' A+ U$ K
            
                        #coding:utf-8
! J, H7 p$ d+ [+ _! n1 O5 j            """
1 ?$ X# d7 G5 l7 I6 q- {8 w' W            ssh操作例子 实现了服务器日志下载
% _9 Z6 p+ ]1 t4 u! Q            2012-08-24
7 Z4 v: ^9 B$ y0 e5 y$ s            yywolf
) m0 p5 E8 v# |  h# ]            """
( A0 L+ z& M/ P            import paramiko& e4 j, F0 S% E8 v5 L
            import time/ x3 i! ]+ y! L: a1 D5 l; b4 [
            hostname="????"
, P+ ^! v' n2 ]; H' C, F: n            port=226 D2 X. V  n5 m  u: u- |
            username="app"1 K) H6 d' |+ I1 y( L, |
            password="????"
' ?$ s$ H7 f% Z' X& M4 O4 Y            if __name__=="__main__":* w8 e8 w7 [' p
            # paramiko.util.log.log_to_file('paramiko.log')
9 C( z5 r6 X& i            s = paramiko.sshclient(); l- [& M0 ]4 f/ I$ f1 J5 l
            s.load_system_host_keys()
' d7 _8 `1 V$ e/ h( V7 u, v            s.set_missing_host_key_policy(paramiko.autoaddpolicy())
) e/ }6 X% A, e4 o7 h6 v            s.connect(hostname,port,username,password,timeout=4)( G7 ~) [" x2 E0 V1 ^/ F2 \
            stdin,stdout,stderr = s.exec_command("sh  ~/log/check")
/ _* G3 Z5 j. ]. q+ n1 ]: a            print stdout.read()& r! ]2 o3 b3 f7 {$ @, k7 \2 O- ?
            s.close()
% ^, Q, B3 A$ Q" R0 @            #sftp. H' K# f5 [/ q$ H6 b! Q/ W) U
            t = paramiko.transport((hostname,port))
; x: i+ |9 t' _1 y  o5 N            t.connect(username=username,password=password)
  q5 Y8 M! Z/ n$ N( y* k' N            sftp = paramiko.sftpclient.from_transport(t)
/ q' A' L4 ]9 ^! [1 ^6 r+ _5 i            files = sftp.listdir("/home/app/log/")
) \  x  s! M6 ]9 P  \  L            for f in files:
! O& ~1 \4 F9 M$ q( E' u7 ~            print f- M; N- z) I: n( f$ [% o$ U
            filetime = time.strftime('%y-%m-%d',time.localtime(time.time()))* W5 M$ g# h( b6 y# v, m/ @) S
            #需要下载的文件 和下载后的文件名& L' I* K+ V; N8 X0 f
            sftp.get("/home/app/log/server.txt","c:\\users\\administrator\\desktop\\server.txt")6 a' C1 `) A4 Q# z  Q
            sftp.get("/home/app/log/"+filetime+".log.zip","c:\users\administrator\desktop\\"+filetime+".log.zip")4 _3 R) Z. W( ^6 N
            #raskey+ y1 o# V4 i" t* |$ }8 V5 e* y
            pkey_file = "e:\\yy\\tools\\key\\rsa.txt"* e6 i( p+ D7 U0 p' B8 W2 w$ ^
            key = paramiko.rsakey.from_private_key_file(pkey_file): G8 P6 K# Q1 r8 p; L
            s = paramiko.sshclient()8 c1 m% x/ J' X7 m6 e9 B
            s.load_system_host_keys()% [# J4 r5 ]! H  Q- ]/ A
            s.set_missing_host_key_policy(paramiko.autoaddpolicy())/ F+ G1 ]" j0 [0 p" k" ?# d
            s.connect(hostname,port,username,pkey=key)9 L1 ?* u! H/ d! C$ ?5 Z
            stdin, stdout, stderr = s.exec_command("ls -l  /home/app/log")
" [9 g  U5 r3 T: n            print stdout.read()
$ Q9 E" k- Y& R3 r- J            s.close()
( y8 Q! p5 U/ ^/ S            raw_input()1 W0 W! _; o, L; e0 z& W
            
/ N5 U- q7 g) F            
  希望本文所述对大家的python程序设计有所帮助。
& R6 Y: x7 |! U# ~$ g+ `8 L0 _更多技术文章信息请查看: 技术文章

回复|共 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|山东 | 查看全部
的确好帖子,推荐加精华, X  P8 z, w& [' I( j! m

  l- [) L9 z7 n* r0 f4 S
4 X% L2 s- v; s( ^4 r& ]; r# o3 L' h  u/ i
* M- N0 x, y( w; b- x
' X4 O9 W; o2 v
* w( a( c' l. F. g
2 Y% Z7 P, h& h  J

0 R4 D* J% G4 q, M  R3 E0 K# F2 L( P5 S  R0 O

, Z4 C' h" E& |, @' g3 A/ ]/ A  ]7 U  y" L6 t9 O! v; [3 [

, f2 A. |1 \, f( ^5 r                               
登录/注册后可看大图
; D+ P/ S- Y2 A& n# {& m7 I

/ m& Q' j' Q& D# s                               
登录/注册后可看大图
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客服 返回顶部
快速回复 返回顶部 返回列表