Linux下MySQL数据库自动备份脚本(很不错的脚本)
时间:2008-01-12
来源:互联网
这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,及备份方式
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#Setting
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $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
else
case $BackupMethod in
mysqldump)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName > $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName1 > $DumpFile
fif
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswwd ]
then
mysqlhotceopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&
echo "[$NewFile]Backup Success!" >> $Log1File
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath$DBName >> $LogFlile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFille]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------" >> $LogFile
作者: Foowup 发布时间: 2008-01-12
作者: jiehui520 发布时间: 2008-01-12
作者: guocuily 发布时间: 2009-11-30
作者: panda6401 发布时间: 2010-02-03
里面复制你上面的内容
修改了crontab配置文件
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
49 15 * * * root run-parts /etc/mysql.sh
15:49 我设置的自动备份时间
怎么无法自动备份?
作者: panda6401 发布时间: 2010-02-03
作者: helen1985125 发布时间: 2010-02-08
作者: 默念那份爱 发布时间: 2010-03-01
作者: bob.wu 发布时间: 2010-04-27
作者: 残云断梦 发布时间: 2010-05-16
作者: 6shao 发布时间: 2010-05-23
作者: jihy 发布时间: 2010-08-10
作者: wurr707 发布时间: 2010-09-01
作者: lting 发布时间: 2011-04-14
作者: lting 发布时间: 2011-04-14
作者: ftd505 发布时间: 2011-04-18
作者: lxy811026 发布时间: 2011-08-11
作者: davemac 发布时间: 2011-08-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28