数据库备份脚本shell
2012-07-05 11:07
423 查看
#!/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,Can’t 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
相关文章推荐
- MySQL :: Linux 下自动备份数据库的 shell 脚本
- CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中(转)
- 简单的shell数据库备份脚本
- 简单的shell脚本备份数据库和代码
- shell脚本备份mysql里面所有数据库到远程服务器
- 两个备份数据库的shell脚本
- 数据库备份脚本shell
- SHELL跳出循环、shift左移、函数的使用和数据库自动备份脚本
- CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
- linux中shell备份数据库脚本
- linux上mysql远程备份和自动导入到指定数据库的shell脚本
- 用shell脚本自动化备份数据库
- Centos上通过shell脚本实现数据库备份和还原
- Linux下备份cvs数据库shell脚本
- CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
- shell脚本:完成数据库的自动备份和删除
- 001.Shell脚本数据库备份
- 备份数据库的shell脚本
- Mysql自动备份数据库shell脚本