提供一个shell脚本备份mysql数据库:
#!/bin/sh
# Use mysqldump --help get more detail.
# 定义变量,请根据具体情况修改
# 定义脚本目录
scriptsDir=`pwd`
# 定义用于备份数据库的用户名和密码
user=root
userPWD=root123456
# 定义备份数据库名称
dbNames=(ligphp)
# 定义备份目录
dataBackupDir=/var/DataCopy/backup
# 定义邮件正文文件
eMailFile=/var/DataCopy/logs/email.txt
# 定义邮件地址
eMail=kl_peng@foxmail.com
# 定义备份日志文件
logFile=/var/DataCopy/logs/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/$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
# 发送邮件通知
#cat $eMailFile | mail -s "MySQL Backup" $eMail把这个脚本添加到contab里面定时执行就可以了; 