Skip to content

Commit b2944ea

Browse files
committed
使用百度网盘备份VPS
1 parent e3432e3 commit b2944ea

2 files changed

Lines changed: 101 additions & 0 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,6 @@
3030
3. check_ip138.py 通过ip138检测IP(域名)归属地
3131

3232
使用方法: python check_ip138.py 192.168.1.1
33+
4.vps_baidu.py 使用baidupan备份VPS
34+
pip install baidupan
35+
http://solos.github.io/baidupan/

vps_baidu.py

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#!/usr/bin/python
2+
#coding:utf-8
3+
import os
4+
import datetime
5+
import tarfile
6+
import json
7+
from baidupan.baidupan import BaiduPan
8+
9+
10+
11+
12+
def mysql_backup():
13+
db_host='localhost'
14+
db_user='root'
15+
db_password='password'
16+
mysqldump='/usr/local/mysql/bin/mysqldump'
17+
18+
#print db_bak_name
19+
cmd="%s -u%s -p%s --database wordpress > %s"%(mysqldump,db_user,db_password,db_bak_name)
20+
21+
if os.popen(cmd):
22+
tar=tarfile.open(db_bak,'w:bz2')
23+
tar.add(db_bak_name)
24+
return "Success"
25+
26+
27+
28+
29+
#mysql_backup()
30+
def blog_backup():
31+
blog_dir='/data/wordpress/'
32+
33+
blog_tar=tarfile.open(blog_bak,'w:bz2')
34+
blog_tar.add(blog_dir)
35+
return "Success"
36+
37+
38+
39+
def upload_bpcs(upload_dir,upload_file,del_file):
40+
access_token="access"#从百度云获取
41+
disk=BaiduPan(access_token)
42+
bpcs_dir='/apps/bpcs_uploader/'
43+
if not disk.meta(bpcs_dir+upload_dir):
44+
disk.mkdir(bpcs_dir+upload_dir)
45+
#查看使用情况
46+
#print disk.quota()
47+
disk.upload(upload_file, path=bpcs_dir+upload_dir+upload_file,ondup='overwrite') #上传文件,如果存在,直接覆盖
48+
if disk.meta(bpcs_dir+upload_dir+del_file): #删除历史文件
49+
disk.rm(bpcs_dir+upload_dir+del_file)
50+
51+
if __name__ == '__main__':
52+
53+
today=datetime.datetime.now().date()
54+
del_date=today-datetime.timedelta(days=7)
55+
back_dir='/data/backup/'
56+
logfile=back_dir+'bpcs.log'
57+
os.chdir(back_dir)
58+
59+
#mysql
60+
db_bak_name='mysql-'+str(today)+'.sql'
61+
db_bak='mysql-'+str(today)+'.tar.bz2'
62+
db_del='mysql-'+str(del_date)+'.tar.bz2'
63+
64+
#blog
65+
blog_bak='blog-'+str(today)+'.tar.bz2'
66+
blog_del='blog-'+str(del_date)+'.tar.bz2'
67+
68+
log=open(logfile,'a')
69+
log.write("##########%s###########\n"%datetime.datetime.now())
70+
try:
71+
if os.path.exists(back_dir):
72+
os.chdir(back_dir)
73+
else:
74+
os.mkdir(back_dir)
75+
os.chdir(back_dir)
76+
77+
if mysql_backup():
78+
upload_bpcs('mysql/', db_bak, db_del)
79+
log.write('Mysql upload Success !\n')
80+
os.system('rm -rf %s %s '%(db_bak_name,db_bak))
81+
else:
82+
log.write('mysqldump failed !\n')
83+
if blog_backup():
84+
upload_bpcs('blog/', blog_bak, blog_del)
85+
log.write('blog upload Success !\n')
86+
os.system('rm -rf %s'%(blog_bak))
87+
else :
88+
log.write('blog backup failed !\n')
89+
log.close()
90+
except Exception, e:
91+
print e
92+
93+
94+
95+
96+
97+
98+

0 commit comments

Comments
 (0)