公司的所有后台代码都保存在cvs服务器上,以前备份都是手工在做,不能做到及时备份.
最近天气冷了,空调等用电大户开始启动,办公室已经跳闸好几次了.一台VSS服务器的cpu就光荣牺牲了.
幸亏不是烧的硬盘,万幸之余又些后怕.要是cvs服务器坏了,那就不得了.赶快写个自动备份的脚步.
本来是准备用cvsup做的,安装配置还比较麻烦,干脆就用最简单的方式了.先压缩,后ftp进行备份.
脚步如下:
[code]
#!/bin/env
import os,time,ftplib,string
import glob,sys
import os.path
if not os.path.isdir(home):
os.mkdir(home)
os.chdir(home)
lastfilelen = os.path.getsize(glob.glob("*.tgz")[-1])
cmd = "tar zcvf "+cvstarfile+" "+cvsdir
if (os.system(cmd))!=0:
print "tar file faild! cmd:[%s]"%(cmd)
sys.exit(1)
newfilelen = os.path.getsize(cvstarfile)
print "new:%d,old:%d"%(newfilelen,lastfilelen)
if (newfilelen == lastfilelen):
print "file size not change! exit!"
sys.exit(0)
print "while upload file:%s,size:%d"%(cvstarfile,newfilelen)
if os.getcwd()==home:
ftp=ftplib.FTP(ftphost,ftpuser,ftppass)
)
)
paths=ftp.nlst('cvsroot*')
print paths
if len(paths) > 5:
])
os.remove(paths[0])
fd = open(cvstarfile, 'rb')
%s' % os.path.basename(cvstarfile), fd)
fd.close()
()
[/code]
然后在crontab里面加一行就每天定时启动的命令就可以了!
0 1 * * * /root/backcvs/backcvs.py