Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions python/doBackup_mysql.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
#####################################################
#author:wangjiazhe
#created time: 2015-01-20
#file name: doBackup_mysql.py
#use : 用于mysql数据恢复
#####################################################
#!/usr/sbin/python
import os,sys,tarfile
list=['db_lanmayi','db_mall','db_ucenter','db_ljmallim','db_tuan','db_webim']
mysql='mysql -uroot -p密码 -e '
path1='/data/work/mysql_backup/data/'
######找到相应的tar解压#######
def localdata(c):
if os.path.exists(path1) :
tar = tarfile.open(c)
names = tar.getnames()
for name in names:
tar.extract(name,path=path1)
tar.close()
else:
mkdir='mkdir -p '+path1
os.system(mkdir)
tar231=raw_input("Please enter a remote tar package.").strip()
com='scp -P2211 [email protected]:/backup/187-db/'
localdir=' '+path1
g=com+tar231+localdir
os.system(g)
tarpath=localdir+tar231
tar = tarfile.open(tarpath)
names = tar.getnames()
for name in names:
tar.extract(name,path=path1)
tar.close()
return
###################判断输入的内容############################
while True:
print "\033[36m1.please enter the date to resume.\n2.Restore one database.\n3.Restore one table.\n4.quit\033[0m"
try:
nu=int(raw_input("please select:"))
if nu == 1 :
while True:
date=raw_input("please enter date(0000-00-00) :").strip()
fil='find '+path1+date+'*'
a=os.popen(fil)
b=a.read()
c=b.rstrip()
if os.path.isfile(c):
localdata(c)
break
else:
print "please enter a valid dtae."
elif nu == 2 :
#localdata()
while True:
dataname=raw_input("please enter database name or break:").strip()
if dataname in list :
lsdir='ls -ap '+path1+"|grep '/'|grep -v '\./'"
tdir=os.popen(lsdir)
zdir=tdir.read()
dirl=zdir.strip('\n')
pathd=path1+dirl+dataname+'_'+dirl
ls='ls '
sqlall=ls+pathd
sql=os.popen(sqlall)
sqla=sql.readlines()
crbase=mysql+'"create database if not exists '+dataname+';'+'"'
os.system(crbase)
for i in sqla:
allsql='"use '+dataname+';'+'source '+path1+dirl+dataname+'_'+dirl+i+';"'
mysql1='mysql -uroot -p123456 -e '+allsql
os.system(mysql1)
break
elif dataname == "break" :
break
else:
print "please enter database name."
elif nu == 3 :
#localdata()
while True:
dataname=raw_input("please enter database name or break:").strip()
if dataname in list :
table=raw_input("please enter table name(*.sql):").strip()
lsdir='ls -ap '+path1+"|grep '/'|grep -v '\./'"
tdir=os.popen(lsdir)
zdir=tdir.read()
dirl=zdir.strip('\n')
crbase=mysql+'"create database if not exists '+dataname+';'+'"'
os.system(crbase)
data=dataname+'_'+dirl
mycomm=mysql+'"use '+dataname+';'+'source '+path1+dirl+data+table+';'+'"'
os.system(mycomm)
break
elif dataname == "break" :
break
else:
print "please database name."
elif nu == 4 :
rm='a='+'`ls -ap '+path1+"|grep '/'|grep -v '\./'`"+ ';for i in $a; do rm -rf '+path1+'$i; done'
lsdir='ls -ap '+path1+"|grep '/'|grep -v '\./'"
tdir=os.popen(lsdir)
zdir=tdir.read()
dirl=zdir.strip('\n')
if dirl == '':
pass
else:
os.system(rm)
sys.exit()
else:
print "\033[31mplease enter anuber 1 or 2 or 3.\033[0m"
except ValueError:
print "\033[31mPlease enter a number\033[0m"

2 changes: 2 additions & 0 deletions python/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
###说明
*doBackup_mysql.py --用于mysql数据恢复
16 changes: 16 additions & 0 deletions shell/bakup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#######################################################
#author: wangjiazhe
#created time: 2015-06-08
#file name:bakup.sh
#use : 打包备份dokuwiki数据
######################################################
#!/bin/bash
date=`date "+%Y%m%d"` #当天时间
#############备份打包,放到备份目录里####################
cd /home/

tar -zcf $date.tar.gz ./dokuwiki

mv $date.tar.gz /bakup_dokuwiki/
############保留15天数据#####################################
find /bakup_dokuwiki/ -mtime +15 -type f -name \*.tar.gz -exec rm -rf {} \;
27 changes: 27 additions & 0 deletions shell/data_mv.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#####################################################
#author: wangjiazhe
#created time: 2015-07-22
#file name:data_mv.sh
#use : 把uc_members表中的数据导入mall_member表中
#####################################################
#!/bin/bash
#从uc_members表中模糊超找出username疑似是电话的
mysql -uroot -p密码 -e "use db_ucenter; select uid,username from uc_members where username like '1%';" >./uid_name.txt
#判断出电话号码
cat ./uid_name.txt |egrep [0-9]{11} >./iphon.txt
#从ecm_order表中查出Buyer_id和Payment_id不为0的
for i in `cat iphon.txt|awk '{print $1}'`
do
mysql -uroot -psvntest_mysql_224 -e "use db_mall; select Payment_id,Buyer_id,buyer_name from ecm_order where Buyer_id=$i && Payment_id!='NUll';" >>./nu.txt
done
#更改数据

for i in `cat nu.txt|sed -n '/1/p'|awk '{print $3}'`
do
mysql -uroot -psvntest_mysql_224 -e "use db_mall; update mall_member set iphone=$i where nikename=$i; "
done

#删除文件
sleep 5
rm -rf uid_name.txt iphon.txt

19 changes: 19 additions & 0 deletions shell/my_kill.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
##################################################
#author: wangjiazhe
#created time: 2015-05-06
#file name: my_kill.sh
#use : 杀掉mysql sleep状态的进程
##################################################
#!/bin/sh
#取有多少个sleep进程
n=`/usr/bin/mysqladmin -uroot -p密码 processlist | grep -i sleep | wc -l`
if [ "$n" -gt 50 ]
then
/usr/bin/mysqladmin -uroot -pMBBhE8qg04 processlist | grep -i sleep|sed 's/|/ /g' >>/var/log/mysql/my_kill.log
#关闭sleep进程
for i in `/usr/bin/mysqladmin -uroot -pMBBhE8qg04 processlist | grep -i sleep | awk '{print $2}'`
do
/usr/bin/mysqladmin -uroot -pMBBhE8qg04 kill $i
done
fi

5 changes: 5 additions & 0 deletions shell/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### 说明
* my_kill.sh --用于杀掉mysql闲置连接<br/>
* svnbackup.sh --备份224上的svn<br/>
* data_mv.sh --把uc_members表中的数据导入到mall_member
* bakup.sh --备份wiki数据
30 changes: 30 additions & 0 deletions shell/svnbackup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#######################################################
#author: wangjiazhe
#created time: 2015-01-09
#file name:svnback.sh
#use:备份svn数据
#######################################################
#!/bin/bash
dump="svnadmin dump"
rep=`ls -ap /data/svndata/ |grep '/'|grep -v '\./'|sed "s/\/$//"` #取所有的版本库名
path=/data/svndata/ #svn目录
date=`date "+%Y%m%d"` #当天时间
bakdir=/svn_backup/$date #备份目录
bak=/svn_backup/
conf=$path/db_api/conf
######把所有的版本库导出到/svn_backup
mkdir -p $bakdir
for i in $rep;
do
$dump $path/$i >$bakdir/$i 2>&1
done
###########把备份数据打包并删除备份目录
if [ -d $bakdir ]
then
cd $bak
cp -r $conf ./$date/
tar -zcvf svn_$date.tar.gz $date 1>/dev/null
rm -rf $date
fi

find $bak -mtime +1 -type f -name \*.tar.gz -exec rm -rf {} \;