linux下mysql备份脚本
2011-12-28 11:16
323 查看
#!/bin/bash
#Mysql autobackup shell#write by tuspark.cn
#-------------------数据库相关的用户名、密码、需要备份的数据库名、备份目录等
dbuser=root
dbpasswd=XXXXX
dbserver=localhost
dbname=XXXXX
dbopt=--opt
backupdir=/dcbackup/
#-------------------是否开启FTP远程备份,0为否,1为是。
copytoftp=1
ftpserver=XXXXX
ftpuser=XXXXX
ftppasswd=XXXXX
#-------------------以下参数
fileprefix=dcradiusdump
filename=$backupdir`date +%F`.sql
newfile=$fileprefix-`date +%F`.tar.gz
keepdays=10
#-------------------以下为备份时的日志
logfile=/var/log/mysqlbackup.log
logtmp=/var/log/mybackup.tmp
#===============================================
if [ ! -d $backupdir ]
then
echo "$backupdir is not exist, then make ..." >> $logfile
mkdir -p $backupdir
fi
echo "start====================================>">>$logfile
echo "Beginning backup `date '+%F %T'`" >>$logfile
echo "Delete $keepdays days ago files ..." >>$logfile
find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} \;
echo "Deleted Backup file is :">>$logfile
cat $logtmp >>$logfile
echo "Delete old file Success!" >>$logfile
if [ -f $backupdir$newfile ]
then
echo "$newfile backup exist, backup stop ..." >>$logfile
else
if [ -z $dbpasswd ]
then
mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
else
mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
fi
tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>&1
echo "$backupdir$newfile Backup Success!" >>$logfile
rm -fr $dumpfilename
if [ $copytoftp = 1 ]; then
if [ -z $ftpserver ];then
echo "Ftp Server not set,Copy to Ftp Failed ..." >>$logfile
exit 1
elif [ -z $ftpuser ];then
echo "Ftp user not set, Copy to Ftp Failed ..." >>$logfile
exit 2
elif [ -z $ftppasswd ]; then
echo "Ftp password not set, Copy to Ftp Failed ..." >>$logfile
exit 3
else
echo "Start copy to Ftp server ...." >> $logfile
ftp -n>$logfile
fi
#Mysql autobackup shell#write by tuspark.cn
#-------------------数据库相关的用户名、密码、需要备份的数据库名、备份目录等
dbuser=root
dbpasswd=XXXXX
dbserver=localhost
dbname=XXXXX
dbopt=--opt
backupdir=/dcbackup/
#-------------------是否开启FTP远程备份,0为否,1为是。
copytoftp=1
ftpserver=XXXXX
ftpuser=XXXXX
ftppasswd=XXXXX
#-------------------以下参数
fileprefix=dcradiusdump
filename=$backupdir`date +%F`.sql
newfile=$fileprefix-`date +%F`.tar.gz
keepdays=10
#-------------------以下为备份时的日志
logfile=/var/log/mysqlbackup.log
logtmp=/var/log/mybackup.tmp
#===============================================
if [ ! -d $backupdir ]
then
echo "$backupdir is not exist, then make ..." >> $logfile
mkdir -p $backupdir
fi
echo "start====================================>">>$logfile
echo "Beginning backup `date '+%F %T'`" >>$logfile
echo "Delete $keepdays days ago files ..." >>$logfile
find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} \;
echo "Deleted Backup file is :">>$logfile
cat $logtmp >>$logfile
echo "Delete old file Success!" >>$logfile
if [ -f $backupdir$newfile ]
then
echo "$newfile backup exist, backup stop ..." >>$logfile
else
if [ -z $dbpasswd ]
then
mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
else
mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
fi
tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>&1
echo "$backupdir$newfile Backup Success!" >>$logfile
rm -fr $dumpfilename
if [ $copytoftp = 1 ]; then
if [ -z $ftpserver ];then
echo "Ftp Server not set,Copy to Ftp Failed ..." >>$logfile
exit 1
elif [ -z $ftpuser ];then
echo "Ftp user not set, Copy to Ftp Failed ..." >>$logfile
exit 2
elif [ -z $ftppasswd ]; then
echo "Ftp password not set, Copy to Ftp Failed ..." >>$logfile
exit 3
else
echo "Start copy to Ftp server ...." >> $logfile
ftp -n>$logfile
fi
相关文章推荐
- Linux 下Mysql自动备份脚本
- Mysql 日常备份和增量备份脚本(Linux)
- linux 下 mysql自动备份脚本
- 程序猿(媛)Shell脚本必备技能之一: 在Linux下如何自动备份mysql数据
- linux下mysql备份脚本
- 共享自用的linux备份脚本(webdata+mysql)
- Linux下Mysql 完整备份脚本
- Mysql 增量备份脚本(Linux)
- linux mysql 备份脚本
- linux自动备份mysql脚本
- Linux下的MySQL自动备份脚本
- 一个Linux下Mysql备份脚本,可用于crontab定时任务
- linux mysql自动备份脚本改写实现
- mysql在linux自动备份脚本
- Mysql for linux mysql自动备份脚本
- linux下mysql如何自动备份shell脚本
- linux下mysql自动备份数据脚本
- Linux下的MySQL自动备份脚本
- linux下mysql自动备份脚本代码
- Linux Mysql 数据库备份脚本