rsync.py: https://pypi.python.org/pypi/rsync.py/2.0
or
pyrsync2: https://pypi.python.org/pypi/pyrsync2/0.2.6
1、把excel里文件名那一列复制,粘进一个空白的文本文件,命名为filelist.txt,上传到服务器。2、在服务器上使用脚本导出,python脚本 fileCp.py 。
代码示例:
#! python
#coding:utf-8
##!/usr/bin/python
# Filename : fileCp.py
import sys
import os
import shutil
fileList='filelist.txt'
targetDir='files'
filedir = open(fileList)
line = filedir.readline()
log = open('running.log','w')
while line:
line = line.strip('\n')
basename = os.path.basename(line)
exists = os.path.exists(line)
if exists :
print 'copy '+line+' to '+os.getcwd()+'/'+targetDir+'/'+basename
log.write('copy '+line+' to '+os.getcwd()+'/'+targetDir+'/'+basename+'\r\n')
shutil.copy(line,targetDir+'/'+basename)
else:
print line+' not exists'
log.write(line+' not exists'+'\r\n')
line = filedir.readline()
log.close()
这么具体的问题,找通用demo很难啊,个人觉得问题的难点不在Python。1. 获取什么服务器性能数据和如何获取,可以请教公司内部运维。
2. 获取什么数据库性能数据和如何获取,可以请教公司内部DBA。
3. 以上两点搞定了,才能确定临时数据存储结构和最终数据库表结构。
以上三点是关键,Python的事情就简单多了,提供一种思路:一分钟一次,实时性不高,每台服务器用cron部署一个a.py,用于获取性能数据,在某一台服务器有一个b.py,负责获取所有服务器a.py产生的数据,然后写入数据库;a.py如何上报到b.py取决于你擅长什么,如果熟悉网络编程,用a.py做客户端上报到服务端b.py,如果熟悉shell的文件同步(如rsync),a.py只写本地文件,b.py调用c.sh(封装rsync)拉取远程文件。