文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>MySQL备份脚本

MySQL备份脚本

时间:2008-04-25  来源:huzi1986

MySQL备份脚本

August 30th, 2007

#!/bin/sh
#
# Copyright (C), 2007 bug All Rights Reserved
# Author     : BUG
# Version    : 1.0
# Date       : 2007-03-31
# Email      : [email protected]
# License    : General Public License (GPL) v2
# Description: Database Backup Script
#
# mysqln    : mysql database name default is all-databases
# mysqlu    : mysql database user default is root
# mysqlp    : mysql database password default is null
# srcpath   : mysql bin path
# dstpath   : backup destination path
# logfile   : logfile name
# loghead   : logfile date info
# runuser   : current script running by users

mysqln=”mysql”
mysqlu=root
mysqlp=******
srcpath=/usr/local/mysql/var/
dstpath=”/mnt/bak/”
logfile=/mnt/bak/log/`date +%y%m%d`.log
loghead=[`date +%y/%m/%d\ %H:%M:%S`]
runuser=`ps aux | grep $$ | sed -n “1p” | awk ‘{ print $1 }’`

echo -en “\33[2J”
echo -en “\33[0;0H”
echo -en “\33[32m”
echo “$loghead Database Backup Script start by $runuser PID:$$” >> $logfile
echo “————————————————–”
echo “—        Database Backup Script Start        —”
echo “————————————————–”
echo -en “\33[37m”

rm -rf “$dstpath$(date +%y%m%d -d’-3 day’)”
mkdir -p “$dstpath$(date +%y%m%d)”

for file in $mysqln
do
/usr/local/mysql/bin/mysqldump –opt -u$mysqlu -p$mysqlp $file > $dstpath$(date +%y%m%d)/$file`date +%y$m%d`.sql 2> /dev/null
re1=$?
if [ “$re1″ -eq 0 ]
then
echo -n “$loghead” >> $logfile
echo -n “$file” | awk ‘{printf ” %-17s”, $1}’ >> $logfile
echo -n “database Export OK  ” >> $logfile
  echo -en “$file” | awk ‘{printf “%-17s  “, $1}’
echo -en “database Export \33[32mOK\33[37m  ”
tar -czvf “$dstpath$(date +%y%m%d)/$file`date +%y$m%d`.tgz” -P “$dstpath$(date +%y%m%d)/$file`date +%y$m%d`.sql” > /dev/null 2>&1
re2=$?
if [ “$re2″ -eq 0 ]
then
echo “tgz OK” >> $logfile
rm -f “$dstpath$(date +%y%m%d)/$file`date +%y$m%d`.sql”
echo -e “tgz \33[32mOK\33[37m”
else
echo “tgz file fail return $re2″ >> $logfile
echo -e “tgz \33[31mfail\33[37m”
fi
else
echo -n “$loghead” >> $logfile
echo -n “$file” | awk ‘{printf ” %-17s”, $1}’ >> $logfile
echo “database Export fail return $re1″ >> $logfile
echo -en “$file” | awk ‘{printf “%-17s  “, $1}’
echo -e “database Export \33[31mfail\33[37m”
fi
done
echo “” >> $logfile

This entry was posted on Thursday, August 30th, 2007 at 10:42 am and is filed under MySQL. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载