当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 14 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-02-18 16:46 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10161
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 130
1 任务内容: 写一个支持拆分的备份MYSQL数据库到邮件的脚本。

2 任务的难度: 三星

3 任务的目的: 学习 Linux 下脚本以及邮件

4 任务所涉及的软件: mutt

5 任务将大致消耗的时间: 1天


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-02-18 16:49 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10161
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 130
代码:
#!/bin/bash
#Write by oneleaf@gmail.com

#数据库服务器地址
DBHOST=localhost
#数据库登录名
USERNAME=root
#数据库密码
PASSWORD=
#需要备份的数据库 或 输入类似 db1 db2 的列表清单
DBNAMES="all"
#备份MYSQL时生成CREATE数据库语句
CREATE_DATABASE="yes"
#备份的目录
BACKUPDIR="/tmp/mysqlbackup"
#发生到邮件的地址
MAILADDR="test@example.com"
#邮件最大附件尺寸2M
MAILMAXATTSIZE="2000000"

#当前备份日期和时间
DATE=`date +%Y-%m-%d_%H_%M`
OPT="--quote-names --opt"

#检查备份路径是否存在,不存在则建立
if [ ! -e "${BACKUPDIR}" ]; then
   mkdir -p "${BACKUPDIR}"
fi

#删除备份路径下的所有文件
rm -fv ${BACKUPDIR}/*

#检查是否需要生成CREATE数据库语句
if [ "${CREATE_DATABASE}" = "yes" ]; then
   OPT="${OPT} --databases"
else
   OPT="${OPT} --no-create-db"
fi

#检查是否是备份所有数据库
if [ "${DBNAMES}" = "all" ]; then
   DBNAMES="--all-databases"
fi

BACKUPFILE=${DATE}.sql.gz

cd ${BACKUPDIR}

#备份数据库
`which mysqldump` --user=${USERNAME} --password=${PASSWORD} --host=${DBHOST} ${OPT} ${DBNAMES} |gzip > "${BACKUPFILE}"

#获取备份文件的尺寸
BACKFILESIZE=`du -b ${BACKUPFILE}|sed -e "s/\t.*$//"`
#检查是否需要分割
if [ ${BACKFILESIZE} -ge ${MAILMAXATTSIZE} ]; then
#分割数据库,合并使用 cat ${BACKUPFILE}.* > ${BACKUPFILE}
   `which split` -b ${MAILMAXATTSIZE} ${BACKUPFILE} ${BACKUPFILE}.
   for BFILE in ${BACKUPFILE}.*
   do
       echo "Backup Databases: ${DBNAMES}; Use cat ${BACKUPFILE}.* > ${BACKUPFILE}" | mutt ${MAILADDR} -s "MySQL Backup SQL Files for ${HOST} - ${DATE}" -a "${BFILE}"
   done
else
   echo "Backup Databases: ${DBNAMES}" | mutt ${MAILADDR} -s "MySQL Backup SQL Files for ${HOST} - ${DATE}" -a "${BACKUPFILE}"
fi



页首
 用户资料  
 
3 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-02-18 16:58 
头像

注册: 2007-02-02 18:14
帖子: 30702
系统: debian sid
送出感谢: 1
接收感谢: 34
一叶自己出题自己做,悲剧 :em06


_________________
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-02-18 17:06 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10161
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 130
:em01 刚好写了一个,于是贴出来,供参考, 呵呵


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-02-18 17:15 
头像

注册: 2010-06-16 1:05
帖子: 14683
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
好东西mark。 :em11 :em11


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
6 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-03-10 21:02 
头像

注册: 2010-10-07 14:23
帖子: 33999
地址: 某系某星某洲某国某省某市
系统: Archdows10
送出感谢: 29
接收感谢: 151
:em11


_________________
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙


页首
 用户资料  
 
7 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-03-10 21:42 
头像

注册: 2008-03-25 15:49
帖子: 25878
地址: 谁知道?
送出感谢: 8
接收感谢: 10
依旧看不懂。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-03-10 22:09 
头像

注册: 2007-04-23 14:47
帖子: 686
地址: 常熟
系统: Gentoo
送出感谢: 1
接收感谢: 1
用mail发邮件的算不算- -!


_________________
http://blog.weans.info


页首
 用户资料  
 
9 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-05-12 23:33 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
是啊, 为什么不用mail命令加"-a file"的参数呢?


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
10 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-07-29 12:16 

注册: 2011-07-29 12:14
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
:em20 看的头晕眼花


页首
 用户资料  
 
11 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-08-18 13:24 
头像

注册: 2010-09-26 22:54
帖子: 78
地址: 安徽合肥
送出感谢: 0 次
接收感谢: 0 次
:em06 辛苦啦


_________________
林叶星空——重要的东西
http://www.linyea.net


页首
 用户资料  
 
12 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-12-07 23:51 

注册: 2011-11-11 15:59
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
写的太好了,但是我现在只要一个可以自动备份数据库并自动上传到FTP服务器上面就可以。可以,帮写一个不,谢谢!jiangqh@pkusz.edu.cn

心桥文章网。www.kanmw.com


页首
 用户资料  
 
13 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-12-08 9:22 
头像

注册: 2009-01-28 21:42
帖子: 642
送出感谢: 0 次
接收感谢: 1
pocoyo 写道:
依旧看不懂。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: [三星]写一个备份MySQL数据库到邮件的脚本
帖子发表于 : 2011-12-08 12:24 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
我表示没看懂这个题目 :em06


_________________
GitHub博客——稍微改了一下版面(于2012/8/23
新浪微博——话痨
新浪博客——伪技术博客
GitHub主页——充斥眼球的Common Lisp


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 14 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译