学习网考试学习资料

Gzu521.com

一个Mysql自动备份脚本 (1)

MySQL教程   点击:次   发布时间:2006-7-6   【字体: 】   来源:Gzu521.com
贵州学习网—属于你的学习中心
可以将这个脚本放进crontab,每天凌晨执行一次,自动备份这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。 
代码: 
#!/bin/bash 
#this is a shellscript for auto db backup 
#powered by aspbiz 
#2004-09 
#setting 
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 
#默认情况下备份方式是tar,还可以是MySQLdump,mysqldotcopy 
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz 
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 $dbname > $dumpfile 
      fi 
      tar czvf $newfile $dumpfile >> $logfile 2>&1 
      echo "[$newfile]backup success!" >> $logfile 
      rm -rf $dumpfile 
      ;; 

下一页
本文共2页: 第 1 [2]

责任编辑:gzu521