linux 备份多个数据库脚本,两个备份数据库的shell脚本

备份数据库的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,Can't Backup!" >> $LogFile

echo "Begin ro recover the data...."

mysql -u$LocalDBUser -p$LocalDBPasswd --default-character-set='utf8' $LocalDBName

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 "作者 陈建虹"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值