模块下载 wget http://www./~ja6447/mogilefs.py import md5 import mogilefs //通过api连接mfs 域名、IP、端口 con=mogilefs.Client(domain='www.360doc.com',trackers=['192.168.1.1:7001']) //下载pdf文件 file=open('/home/13638285445863.pdf','w') //通过key来下载文件 con.get_file_data('/handout/2013/03/21/13638285445863.pdf',fp=file) file.close() 利用遍历mfs的日志文件,将mfs存储的文件备份到远端服务器(日志文件内包括存储的文件名) #!/usr/bin/python #coding=utf8 import os import re import md5 import mogilefs import time import paramiko //mfs的日志文件以日期命名 TIME=time.strftime('%Y-%m-%d',time.localtime(time.time())) T=str(TIME) #使用paramiko模块远程拷贝mfs-log到本地 scp=paramiko.Transport(("server1",10088)) //主机名、端口 scp.connect(username='user',password='pwd' //用户名、密码 sftp = paramiko.SFTPClient.from_transport(scp) remotepath='/home/logs/img_store.'+T+'.log' //远端日志路径 localpath='/home/logs/img_store.'+T+'.log' //本地保存路径 sftp.get(remotepath,localpath) scp.close() #遍历日志内容 logfile = open('/home/logs/img_store.'+T+'.log','r') for line in open("/home/logs/img_store."+T+".log"): line = logfile.readline().split(' ')[4] dir=os.path.dirname(line) basename=os.path.basename(line) #判断路径是否存在 if not os.path.exists('/home/data/mfs-file'+dir): //文件备份目录 os.makedirs('/home/data/mfs-file'+dir) #判断文件是否存在,若存在则覆盖 if os.path.isfile('/home/data/mfs-file'+line): os.remove('/home/data/mfs-file'+line) //连接mfs并通过文件名下载文件 con=mogilefs.Client(domain='mfs.xueersi.com',trackers=['192.168.1.X:7001']) file=open('/home/data/mfs-file'+line,'w') a=con.get_file_data(line) file.write(a) file.close() #如果不存在,则下载 else: con=mogilefs.Client(domain='file-mfs.xueersi.com',trackers=['192.168.1.X:7001']) file=open('/home/data/mfs-file'+line,'w') a=con.get_file_data(line) file.write(a) file.close() |
|
来自: jas0n_liu > 《python模块》