广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 28318 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
pigpig5442
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x13
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[转帖]自动备份 MySQL 资料库
用途: 备份 MySQL 指定之多重资料库.


特点:


1)以电子邮件方式作异地传输


2)系统环境须求简单, 均为内建之基本服务


3)定时排程


4)支援以虚拟主机架设网站的一般用户.





步骤一:


如果网站是架在自己的主机, 请以 root 身份操作, 若为租用的主机, 请以所属的帐户身份操作.





建立一个新目录


#mkdir /usr/local/bin/bk_dir


#cd /usr/local/bin/bk_dir





将以下两程式码分别存成 backup.sh , email.pl





#cat backup.sh


代码:



#!/bin/sh


#


# 说明:资料库 MySQL 备份,并以 mail 附加档案传输至指定邮件地址


# 撰写人:alang (alangnet.24cc.com)


# 2003.6.7


#


# 档案结构:


#       backup.sh --> 备份执行档


#       data/         --> 备份档储存目录


#       email.pl     --> 邮寄程式(主机需支援 perl)


#


#


#


# 参数定义 !!请自行修改!!


mainPath="/usr/local/bin/bk_dir"


db_user="dbuser"


db_pass="dbpass"


dataPath="${mainPath}/data"


archiveName="alangnet.ptez.org_bak.tgz"


#


#


#


# 资料库转出 mysqldump !!请自行修改!!


# 多重资料库请依下列格式自行添加,备份档名切勿重复


# mysqldump -u${db_user} -p${db_pass} --opt 资料库名称 > ${dataPath}/备份档名.sql


#


mysqldump -u${db_user} -p${db_pass} --add-drop-table alangnet_nukeDB > ${dataPath}/nukedb.sql





mysqldump -u${db_user} -p${db_pass} --add-drop-table alangnet_phpbbDB > ${dataPath}/phpbbdb.sql


#


#


# 压缩档案并邮寄


#


#!!请自行修改!!


#tar -zcf 压缩资料库档 资料库档1 资料库档2


cd ${dataPath}


tar -zcf ${archiveName} nukedb.sql phpbbdb.sql


cd ../





if [ -f ${dataPath}/${archiveName} ]; then


    perl email.pl


    echo "## The backup job was done. Time is $(date +%Y-%m-%d@%T) ##"


fi





#


#


# eof









#cat email.pl


代码:



#!/usr/bin/perl -w


####################################


# Email message attachments in Perl#


# written by alang 2004.01.15     #


####################################





use MIME::Lite;


use Net::SMTP;


##!!请自行修改!!


my $SenderName = 'Administrator-alangnet'


my $WebsiteName = 'alangnet.ptez.org'


my $from_address = 'admin@alangnet.ptez.org'


my $to_address = 'alangnet@seed.net.tw'


my $subject = 'MySQL Backup Process Reporting! From ['.$WebsiteName.']'


my $filename = 'alangnet.ptez.org_bak.tgz'


my $recommended_filename = 'alangnet.ptez.org_bak.tgz'





my $msg = MIME::Lite->new(


  From => $SenderName.' <'.$from_address.'>',


  To => $to_address,


  Subject => $subject,


  Type => 'text/plain',


  Data => "#############[ 此封邮件请勿回覆 ]#############





"


    ."管理员(".$SenderName.") 你好 ,


"


    ."您的网站(".$WebsiteName.")所属的资料库已完成备份作业,如附档所示.


"


    ."请将它另存至其他位置并妥善保存.")


  or die "Error creating MIME body: $!


";





# Attach the tar file


$msg->attach(Type=>'application/x-tar',


  Path =>'data/'.$filename,


  Filename =>$recommended_filename)


  or die "Error attaching tar file: $!


";





my $message_body = $msg->as_string();





# Set this variable to your smtp server name


my $mailserver = 'localhost'





$smtp = Net::SMTP->new($mailserver) or


    die "Couldn't connet server";


$smtp->mail( $from_address );


$smtp->to( $to_address );





$smtp->data();


$smtp->datasend($message_body);


$smtp->dataend();





$smtp->quit();









两个程式档均须依自身使用状况适当修改不同的参数值, 唯须特别提醒的为:


backup.sh 的 archiveName 参数 须与 email.pl 的 $filename 参数相同.





步骤二:


赋予执行的权限


chmod 700 backup.sh email.pl





步骤三:


制作备份档储存目录


#mkdir /usr/local/bin/bk_dir/data





完成及测试:


root 执行


#/usr/local/bin/bk_dir/backup.sh


收邮件查看





补充:


此程序已运行本站租用的虚拟主机多日, 期间曾发生的错误均修改完毕.


因使用电子邮件作传输媒介, 请以稳定性高, 容量大做接收邮箱
 
     



献花 x0 回到顶端 [楼 主] From:台湾中华电信 | Posted:2005-05-16 04:44 |
jcle
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

感谢大大分享.......
在目前动态网页盛行的时代里
资料库的运用和备份非常的重要
感谢大大提供了备份的程式
造福大家
谢谢


献花 x0 回到顶端 [1 楼] From:台湾数位联合 | Posted:2005-05-22 07:01 |
mnbmnb5266
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x5 鲜花 x46
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

谢谢大大了,自动备份真的很方便啊


我的收藏
https://pan.baidu.com/s/1QUJ9lr_VzxXKRJAlBJgUQA
提取码:am2c
献花 x0 回到顶端 [2 楼] From:加拿大Rogers | Posted:2010-08-28 00:59 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.075135 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言