SEO 网站优化推广 SEO 网站优化推广

自动备份MySQL数据库的脚本

作者:


最后更新于 | 最初发布于 | 分类:


在写2010 Blog继续优化的15个法则的时候,David Yin提到第九点关于备份的必要,这个脚本就分享给大家,有需要的取用就是。

9)设置好自动备份系统,数据库和程序。数据是最要紧的,比如SEO Blog就是在服务器端每天凌晨自动导出mysql数据库,然后同整个Blog的页面内容一起打包,再备份到远程的备份服务器。记得,是每天。

在下面的脚本中,你需要自己修改几个参数,一个是你的脚本所运行的服务器上储存的数据库备份目录,这里我假定是"/home/yourname/backup/mysql"。当然需要你的MySQL服务器用户名和密码。

脚本首先做的是把MySQL数据库备份到本地目录,然后通过FTP传递到远程备份服务器上,按日期目录存放。FTP服务器的账户信息也需要,以便远程存储。

在远程服务器上的目录结构类似:

\db-backup\21-10-2009\mysql.21-10-2009-02:02:40.gz
有多少个数据库就有多少个文件。

异地存储的好处就不多说了,大家都明白。 脚本保存好后,就是添加该脚本到Cron任务列中,让它每天晚上执行,或者是你的服务器负载最低的时候执行,我是放到半夜2点开始。


#!/bin/bash
### MySQL Server Login Info ###
MUSER="username"
MPASS="password"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
BAK="/home/yourname/backup/mysql"
GZIP="$(which gzip)"
### FTP SERVER Login info ###
FTPU="ftp username"
FTPP="ftp password"
FTPS="ftp server"
NOW=$(date +"%d-%m-%Y")

[ ! -d $BAK ] && mkdir -p $BAK || /bin/rm -f $BAK/*

DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
 FILE=$BAK/$db.$NOW-$(date +"%T").gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done

lftp -u $FTPU,$FTPP -e "mkdir /db-backup/$NOW;cd /db-backup/$NOW; mput /home/yourname/backup/mysql/*; quit" $FTPS

find /home/yourname/backup/mysql -ctime +4 -exec rm {} \;

分享:
Share on Facebook Share on Twitter

搜索
关于
David Yin
研究(SEO)搜索引擎优化排名和(PPC)竞价排名技术,总结搜索营销学的各种方法和趋势。专业SEO优化研究,致力于搜索引擎优化技术的普及和推广。
David Yin
Email:seo[AT]g2soft.net
版权说明
如果想转载,而又不明白转载的条件,请看本站的详细版权说明
推荐
Dreamhost Hosting
使用优惠码“save252015”,节省更多,每月只要 $2.59。
标签云
热门标签