立即登录 注册新帐号

http://www.chutianz.com - 楚天站长站

会员投稿 匿名投稿 投稿指南 RSS订阅 楚天站长站推荐:
搜索: 您的位置主页 > 网站运营 > 建站经验 > 阅读资讯:如何每天自动备份MySql文件?

如何每天自动备份MySql文件?

2012-08-31 16:15:32 来源:hostgatorfans.com 【 】 点击:我要投稿 发表评论

随着数据库在网站建设中的不断应用,现如今绝大多数网站已经离不开数据库支持了,因为数据库不仅可以存储网站内容等信息,还可以存储用户提交的信息。由于这些信息非常宝贵,一旦丢失几乎难以挽回。

所有站长不仅要注意备份服务器上的网页html文件,图片或者程序代码,还要对数据库文件优先进行备份。

最简单的数据库备份可以通过phpMyAdmin手动备份并下载文件到指定位置,但是对于那些需要每天及时备份的站长来说,手动备份数据库比较麻烦,所以本文讲解一下如何利用国外主机的时钟程序配合shell命令代码实现每天定时备份数据库文件并下载到指定目录。

shell备份数据库

首先创建一个文件命名为:“backup.sh”,在其中输入以下命令:

#!/bin/bash
# Set a value that we can use for a datestamp
DATE=`date +%Y-%m-%d`                                                                                                                                       $
# Our Base backup directory
BASEBACKUP="/backup/daily"

for DATABASE in `cat /backup/db-list.txt`
do
        # This is where we throw our backups.
        FILEDIR="$BASEBACKUP/$DATABASE"

        # Test to see if our backup directory exists.
        # If not, create it.
        if [ ! -d $FILEDIR ]
        then
                mkdir -p $FILEDIR
        fi

        echo -n "Exporting database:  $DATABASE"
        mysqldump --user=root --opt $DATABASE | gzip -c -9 > $FILEDIR/$DATABASE-$DATE.sql.gz
        echo "      ......[ Done Exporting to local backup, now exporting for remote backup] "
        cp $FILEDIR/$DATABASE-$DATE.sql.gz /backup/uploads/$DATABASE.sql.gz
        echo "      .......[Done]"
done

# AutoPrune our backups.  This will find all files
# that are "MaxFileAge" days old and delete them.
MaxFileAge=4
find $BASEBACKUP -name '*.gz' -type f -mtime +$MaxFileAge -exec rm -f {} \;

简单来说,这个命令会从db-list.txt文件(一个记录有数据库名称的列表文本文件)中逐行调取数据库并输出+压缩数据文件(datastamped )到/backup/daily/databasename/目录下面;然后该命令有把一个 non-datestamped 文件存储到/backup/uploads/目录下面,并覆盖掉原有的文件。

同时,为了节约资源,该命令会自动删掉4天前的数据库文件。

时钟命令(Cron Jobs)

备份完之后要利用时钟命令将数据库备份以及存储以自动的方式每天执行,首先需要激活backup.sh;

10 4 * * * sh / backup/backup.sh

这个命令是让服务器每天早上4:10分开始执行数据库备份,当然什么时间执行是取决你的。

然后在时钟命令中输入以下命令:

10 6 * * * /usr/local/bin/ncftpput -Ef /home/admin/ncftpputlogin / /backup/uploads/*

这个命令是告诉一个命名为ncftpput的程序(该程序位于ncftputlogin目录下)每天早上6:10将数据库文件上传到/backup/uploads目录下面。ncftpputlogin目录中存有服务器的用户信息,如果你的服务器没有安装ncftp,你可以自己安装一个,很简单。

总结

如果你的数据库文件较大,可能备份的时候需要占用很多服务器资源,所以站长要尽量选择访客最少的时间段执行自动备份命令,比如凌晨4-5点左右。而且要注意给备份留下足够的时间然后执行存储命令。

因为一个服务器可能会遭到天灾人祸,备份的数据库文件要存在不同的服务器或者下载到本地更保险。

如果本文对你有帮助,请转载时保留原文链接:

感谢 的投稿 本文仅代表作者观点,与楚天站长站立场无关。

分享到:

数据统计中!!

tags:站长之家, 站长, 数据库备份, My

 责任编辑:毛新红
  • 上一篇:徐佳文:教你打造一款永久免费的翻墙利器
  • 下一篇:老站长经验分享:什么样的外链不要去做
  • 相关文章列表                                                                                     收藏 - 挑错 - 推荐 - 打印
      网站分析十必问(上):关于网站目标、
      基于KNN的相关内容推荐
      服务器被挂马请不要头疼
      浅谈流量站与品牌站之间的区别与联系
      杨均胜:民营医院网站文章及标题编辑技
      宫庆良:中国最赚钱的网站分析之百度(
      男怕投错行 中小网站品牌梦从定位开始
      利用内容赚钱5种工具:点Skimlinks链接
    评论总数: 条 [ 查看全部 ] 网友评论
    楚天站长站最新文章
    • · 老站长经验分享:什么样的外链不要去做
    • · Discuz X2.5帖子内容批量替换
    • · EDM邮件营销分析与策略优化
    • · Z-Blog 2.0新版体验 用户体验提升功能更强
    • · 缓冲加载图片的jQuery插件lazyload.js 使用
    • · 徐佳文:教你打造一款永久免费的翻墙利器
    • · 如何每天自动备份MySql文件?
    • · 新站度过搜索引擎审核期要注意的五个基本事
    • · 我的一个同学的网赚经历
    • · 回答两个电商咨询问题(部门架构与改版)
    • · 一个SEMer的自我修养
    • · Wordpress主题修改教程:使用文章缩略图功
    • · 织梦CMS内容结尾加“当前文档地址”和“转
    • · 用户体验剖析:人人网时间轴的战略意义
    • · 网站数据分析:SkyGlue—用GA标记用户生成
    推荐资讯
    • · 如何每天自动备份MySql文件?
    • · Google Analytics中的快捷方式(Shortcut)
    • · 建站新手不得不知道的网站建设内幕
    • · 周鸿祎谈运营:什么是好的用户体验?
    • · 专访都匀圈圈网:服务网民的同时 追逐自
    • · LLsMP一键安装包及使用教程
    • · 对于百度8月22日算法升级的解读
    • · 网站内部优化准则之如何“齐家”
    • · 浅谈站长投资网店应该考虑投入产出比
    • · 分喜那些年我们围绕“用户”展开的联想
    • · 在分类信息网发外链做排名的经验心得
    • · "复制19楼“利弊分析