两个备份数据库的shell脚本

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

备份数据库的shell脚本一

复制代码

代码如下:

#!/bin/bash

#指定运行的脚本shell

#运行脚本要给用户执行权限

bakdir=/backup

month=`date +%m`

day=`date +%d`

year=`date +%Y`

hour=`date +%k`

min=`date +%M`

dirname=$year-$month-$day-$hour-$min

mkdir $bakdir/$dirname

mkdir $bakdir/$dirname/conf

mkdir $bakdir/$dirname/web

mkdir $bakdir/$dirname/db

#热备份数据库

cp /opt/mysql/my.cnf $bakdir/$dirname/db/my.cnf

cd /opt/mysql

mysqldump –opt -u zhy -p –password=1986 test>$bakdir/$dirname/db/test.sql

mysqldump –opt -u zhy -p –password=1986 phpwind>$bakdir/$dirname/db/phpwind.sql

#远程拷贝的目录要有可写权限

scp -r /backup/$dirname root@10.1.1.178:/backup

数据库备份脚本shell二

复制代码

代码如下:

[plain]

#!/bin/bash   

#—————————- 

#Target machine configuration 

#—————————-

#DBUser->Database user name 

#DBPasswd->Database password ,not null 

#DBName->Database name

#SERVER->IP address 

#—————————- 

DBUser=**** 

DBPasswd=**** 

DBName=***** 

SERVER=****

#——————————– 

#The local machine configuration 

#——————————–

#LocalDBUser->Database user name 

#LocalDBPasswd->Database password,not null 

#LocalDBName->Database name

#BackupPath->Backup path,end with / 

#LogFile->Log file 

#num->backup numbers 

#——————————–

LocalDBUser=** 

LocalDBPasswd=*** 

LocalDBName=**** 

BackupPath=**** 

LogFile=**** 

#num=2 —–> Has not been completed

#——————————- 

#——————————- 

#Other configuration

#——————————- 

#IgnoreTables->ignore tables,like this: 

#IgnoreTables= –ignore-table=DBName.TableName1 –ignore-table=DBName.TableName2 …..

#NeedTables->need backup tables,if you want to backup all tables,please let it empty

#like this: NeedTables=table1 table2 table3 

#——————————-

IgnoreTables=****‘  

NeedTables= 

#begin 

NewFile=”$BackupPath”dbBackup$(date +%y%m%d).sql

OldFile=”$BackupPath”dbBackup$(date +%y%m%d –date=5 days ago).sql  

echo “——————————————-” >> $LogFile

echo $(date +”%y-%m-%d %H:%M:%S”) >> $LogFile   

echo $(date +%y%m%d –date=5 days ago) >>$LogFile

echo “————————–” >> $LogFile   

#Delete Old File 

if [ -f $OldFile ]

then   

   rm -f $OldFile >> $LogFile 2>&1   

   echo “[$OldFile]Delete Old File Success!” >> $LogFile   

else   

echo “[$OldFile]No Old Backup File!” >> $LogFile

fi   

if [ -f $NewFile ]   

then   

echo “[$NewFile]The Backup File is exists,Cant Backup!” >> $LogFile

   echo “Begin ro recover the data….”   

mysql -u$LocalDBUser -p$LocalDBPasswd –default-character-set=utf8 $LocalDBName <$NewFile

echo “Data has been restored!” >>$LogFile

else   

mysqldump -h$SERVER -u$DBUser -p$DBPasswd –default-character-set=utf8 –quick –single-transaction  $DBName  $NeedTables    $IgnoreTables  >$NewFile

    echo “[$NewFile]Backup Success!” >> $LogFile   

fi 

echo “——————————————-“

echo “作者 陈建虹”

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容