国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类MySQL → 一个Mysql自动备份脚本

一个Mysql自动备份脚本

我要评论 2009/04/15 16:08:49 来源:国语自产精品视频在线看 编辑:佚名 [ ] 评论:0 点击:561次

写了一【xiě le yī】个【gè】😫Mysql备份【fèn】的脚本【jiǎo běn】,大家看【kàn】看【kàn】,有什么🌦不妥地方【fāng】。

这是【zhè shì】⏪我写的【wǒ xiě de】第一个【dì yī gè】😫Shell脚本【jiǎo běn】,大家帮【dà jiā bāng】忙看【kàn】看【kàn】,

有谁需要的⌛,我可以🏙发给他🎾。

可以将这个脚【zhè gè jiǎo】🐨本放进crontab,每天凌【měi tiān líng】😤晨执行一【yī】🥀次🏕,自动备份【fèn】

这个脚【zhè gè jiǎo】🐨本每天最多只执行一【yī】🥀次🏕,而且只保留最🤗近五天的备份【fèn】在服务🌞器上。

代码🤸:


#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09

#Setting
#设置数据库🎥名【míng】,数据库🎥登录名【míng】,密码,备份【fèn】路😼径【jìng】💉,日志路径【jìng】💉,数据文件位置【jiàn wèi zhì】,以及备份方式【fèn fāng shì】🚮
#默认情况下🆎备份方式【fèn fāng shì】🚮是【shì】⏪tar,还可以是【shì】⏪mysqldump,mysqldotcopy
#默认情况下🆎,用【yòng】root(空💝)登录mysql数据库🎥,备份【fèn】至/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
      ;;
   mysqlhotcopy)
      rm -rf $DumpFile
      mkdir $DumpFile
      if [ -z $DBPasswd ]
      then
         mysqlhotcopy -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>&1
      echo "[$NewFile]Backup Success!" >> $LogFile
      rm -rf $DumpFile
      ;;
   *)
      /etc/init.d/mysqld stop >/dev/null 2>&1
      tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
      /etc/init.d/mysqld start >/dev/null 2>&1
      echo "[$NewFile]Backup Success!" >> $LogFile
      ;;
   esac
fi

echo "-------------------------------------------" >> $LogFile
 

关键词:Mysql

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 1 白痴
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙视