自动备份mysql数据库 shell脚本

标签: 备份 mysql 数据库 | 发表时间:2013-11-25 22:58 | 作者:wangyiyan315
出处:http://blog.csdn.net

最近使用了testlink和mantis这2个测试相关的系统,而他们又全部是基于mysql+php开发的,因此定期备份数据库也是很有必要的,下面是自己写的一个简单的shell脚本。我的mysql是通过xampp这个套件安装的,因为这个套件可以一起安装testlink和mantis需要的php+apache环境。

下面附上脚本,不足之处,请指出,谢谢!

#!/bin/bash
#this script will backup the mysql databases and source code automatically.
#Date: 2013-11-21
#Author: Cullen

#variable list
DbTestCase=testlink #testlink的数据库名称
DbBug=bugtracker   #mantis在mysql里的数据库名称
DbUser=root
DbPwd=admin
BackupPath=/root/mysql_backup/
LogFile=/root/mysql_backup/log_file

#check the backup file exists or not
if [ ! -d $BackupPath ]; then
	mkdir $BackupPath
fi

for DbName in $DbTestCase $DbBug 
do
	NewFile="$BackupPath""$DbName"$(date +%y%m%d).tar.gz
	DumpFile="$BackupPath""$DbName"$(date ++%y%m%d).sql
	OldFile="$BackupPath""$DbName"$(date +%y%m%d --date='1 weeks ago').tar.gz

	echo "-----------------------------------------"
	echo $(date +"%y-%m-%d %H:%M:%S")
	echo "-----------------------------------------"

	#create new backup file weekly
	if [ -f $NewFile ]; then
		echo "New backup file have exists!"
	else
		/opt/lampp/bin/mysqldump -uroot -padmin $DbName > $DumpFile
		tar czvf $NewFile $DumpFile
		rm -rf $DumpFile
		echo "[$NewFile] backup completely!" >> $LogFile
	fi

	#remove the obsolete file
	if [ -f $OldFile ]; then
		rm -f $OldFile
		echo "delete the old file: [$OldFile]"
	fi 
done
可以将这个脚本加入到cron例行程序里,就可以自动备份数据库了。

作者:wangyiyan315 发表于2013-11-25 14:58:37 原文链接
阅读:101 评论:0 查看评论

相关 [备份 mysql 数据库] 推荐:

mysql master/slave 数据库备份

- - 数据库 - ITeye博客
出自:http://blog.csdn.net/mer1234567/article/details/7405775.       Mysql内建的复制功能是构建大型,高性能应用程序的基础. 将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.

在CentOS实现mysql数据库的自动备份备份

- - CSDN博客系统运维推荐文章
        数据是一个比较重要的数据,经常需要备份,每次都手动比较麻烦. 本脚本主要现实在CentOS中实现对数据库的备份和保留最近十五天的备份文件. 避免太多无用陈旧的备份占用空间. #!/bin/bash id="root" #用户名 pwd="123123" #密码 dbs="conedu commlib" #数据库名字的列表,多个数据库用空格分开.

10 个MySQL数据库备份教程推荐

- Tim - ITeye资讯频道
MySQL是动态网站开发中最著名的开源数据库系统. 如果你在网站中使用了MySQL,那么你应该定期备份你的数据以防止它丢失. 本文将介绍自动或手动备份MySQL数据库的10个教程,看看有没有最适合你的方法. Backing Up Using MySQLDump(利用MySQLDump备份MySQL数据库).

一个备份MySQL数据库的简单Shell脚本

- - 博客 - 伯乐在线
本文翻译自  iSystemAdmin 的 《 A Simple Shell Script to Backup MySQL Database》. Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行. 我们也可以逐一敲入命令手动执行. 如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了.

自动备份mysql数据库 shell脚本

- - CSDN博客数据库推荐文章
最近使用了testlink和mantis这2个测试相关的系统,而他们又全部是基于mysql+php开发的,因此定期备份数据库也是很有必要的,下面是自己写的一个简单的shell脚本. 我的mysql是通过xampp这个套件安装的,因为这个套件可以一起安装testlink和mantis需要的php+apache环境.

Mysql数据库日志,备份及回滚操作

- - CSDN博客数据库推荐文章
一、打开二进制日志配置 :. 在Windows系统下,对mysql的my.ini的log-bin等进行配置目录位置时,假设要将log-bin的日志配置到D盘的mysqllog的文件为binlog. log-bin="D:\mysqllog/binlog"  注意:在这里的最后一个路径采用的是"/"而不是Windows文件系统的“\".

Xtrabackup全量备份与恢复mysql数据库

- - CSDN博客系统运维推荐文章
一、Xtrabackup简单概述:. Percona  Xtrabackup是开源免费的mysql数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁). XtraBackup支持所有的Percona Server、MySQL、MariaDB和Drizzle.

每天自动备份MySQL数据库的shell脚本

- - WEB骇客
经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的. 一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行. 我们需要一种安全的,每天自动备份的方法. 下面的这个shell脚本就是能让你通过过设定Crontab来每天备份MySQL数据库的方法.

MySQL企业级数据库灾备(备份)系统-DMB v2.1发布

- 彦强 - MySQL 实验室(BLOG) - MySQL性能、MySQL Cluster集群、MySQL HA高可用等研究 - MySQL实验室
为了这系统宅了很多个周末,又一个小长假过去了, DMB v2.1终于可以那得出手了,现在分享出来让朋友们使用,希望能得到更多更好的建议. DMB 对InnoDB存储引擎支持在线热备(ibbackup, xtrabackup等),还可以根据用户需求选择备份模式,是否加锁获取Master信息等. “DMB数据库监控及灾备系统(监控、备份) for MySQL” 简单介绍见 http://www.mysqlab.net/tool/dmb/.

MySQL数据库的修复

- Xin - 博客园-首页原创精华区
找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:. 然后myisamchk 工具会帮助你恢复数据表的索引. 好象也不用重新启动mysql,问题就解决了. 当你试图修复一个被破坏的表的问题时,有三种修复类型. 如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下来的.