shell脚本定时备份mysql数据库

#!/bin/sh

# 定义用于备份数据库的用户名和密码
user=root
userPWD=123456

# 定义备份数据库名称
dbNames=(web_portal)

# 定义备份目录
dataBackupDir=/home/portal/backup

# 定义邮件正文文件
eMailFile=$dataBackupDir/log/email.txt

# 定义邮件地址
[email protected]

# 定义备份日志文件
logFile=$dataBackupDir/log/mysqlbackup.log

# DATE=`date -I`
DATE=`date -d "now" +%Y%m%d`

echo `date -d "now" "+%Y-%m-%d %H:%M:%S"` > $eMailFile

for dbName in ${dbNames[*]}
do
    # 定义备份文件名
    dumpFile=$dataBackupDir/db/$dbName-$DATE.sql.gz

    # 使用mysqldump备份数据库,请根据具体情况设置参数
    mysqldump -u$user -p$userPWD $dbName | gzip > $dumpFile
done

if [[ $? == 0 ]]; then
    echo "DataBase Backup Success!" >> $eMailFile
else
    echo "DataBase Backup Fail!" >> $emailFile
fi

# 写日志文件
echo "================================" >> $logFile
cat $eMailFile >> $logFile
echo $dumpFile >> $logFile
find "$dataBackupDir" -name "$dbName*" -type f -mtime +3 -exec rm -rf {} \;
# 发送邮件通知
#cat $eMailFile | mail -s "MySQL Backup" $eMail

猜你喜欢

转载自peasant.iteye.com/blog/1767736