Shell定时备份Mysql数据库
提供一个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里面定时执行就可以了;
原创文章如转载,请注明出处,本文首发于彭超的博客
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。