用shell脚本自动化备份数据库

防伪码:防止误删系统数据库,定时备份你我更安心!

使用shell脚本自动化备份数据库

一、简介

系统数据库如图所示(以MySQL5.5为例)

1、information_schema:信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在information_schema中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

2、mysql:MySQL的的核心数据库,类似于SQLServer中的master表,主要负责存储数据库的用户、权限设置、关键字、mysql自己需要使用的控制和管理信息等。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。

3、performance_schema:存储引擎,主要用于收集数据库服务器性能参数。

4、test:安装时候创建的一个测试数据库,和它的名字一样,是一个完全的空数据库,没有任何表,可以删除。

二、编写脚本,自动化备份数据库(以test为例)

1、开启服务

2、用户授权

3、编写脚本(vim yy.sh)

脚本如下:

#!/bin/bash

#auto backup

back=/data/backup/`date +%Y%m%d`

mysqldb=test

mysqlpw=123456

mysqluser=backup

mysqlcmd=$(which mysqldump)

if [ $UID -ne 0 ];then

         echo "bixushiyongroot"

         exit

fi

if [ ! -d $back ];then

   mkdir -p   $back

else

   echo  "this  $back  is exit............."

fi

$mysqlcmd  -u$mysqluser  -p$mysqlpw  -d $mysqldb >$back/$mysqldb.sql

if [ $?  -eq 0 ];then

               echo  "The backup successful"

else

               echo    "Backup failure"

fi

4、设置执行权限并执行脚本

三、根据工作需要,设置计划任务(crontab -e)

时间: 2024-10-21 15:40:18

用shell脚本自动化备份数据库的相关文章

nodejs 定时调用shell脚本来备份数据库和日志文件并发送到邮箱

安装mailx,靠它来发送邮件 yum install mailx 编辑配置文件 vim /etc/mail.rc #添加如下内容 set [email protected] set smtp=smtp.163.com set [email protected] set smtp-auth-password=xxx set smtp-auth=login ---说明 from:对方收到邮件时显示的发件人 smtp:指定第三方发邮件的smtp服务器地址 set smtp-auth-user:第三方

shell脚本定时备份数据库

脚本代码: 新建文件back_db.sh #!/bin/bash TODAYTIME="`date +%Y%m%d`" DBNAME="test mysql" DUMPPATH="/usr/local/webserver/mysql/bin/mysqldump" HOST="xxx" USER="xxx" PASSWD="xxx" DB_FILE="/home/data/bac

shell脚本自动备份数据库

1.编写备份脚本vi backup.sh #!/bin/bashdate=`date +%Y%m%d_%k%M`  mysqldump -uroot -p12345 -h127.0.0.1 db | gzip > /home/ubuntu/root/db_$date.sql.gz 2.修改脚本可执行权限#chmod +x backup.sh 3.加入crontab #crontab -e 0 0,12 * * * sh /home/cospya/backup.sh 4.重启crond 服务 se

Shell脚本-----自动备份Mysql数据库

脚本的整体思路 1.定义需要的变量 2.利用for循环备份需要备份的库,并以库名-当天日期.sql命名,并记录相关日志 3.建立备份当天的日期的目录,向备份的Sql文件移动到该目录 4.压缩打包该目录,以节省空间,打包成功后删除该目录 5.备份目录只备份七天的数据库,第八天删除第一天的备份,目录只会存在连续七天的备份文件 6.查找备份目录下的.log日志文件,超过七天的删除 #!/bin/bash mysql_bin=/usr/local/tdoa/mysql/bin/mysqldump use

fdisk分区硬盘并shell脚本自动化

最近工作需要用到对硬盘进行shell脚本自动化分区和mount的操作,google了一些资料,下面做个总结. 如果硬盘没有进行分区(逻辑分区或者扩展分区,关于两者概念,自行google),我们将无法将使用该硬盘来进行读写.我们要使用一块硬盘需要进行下面三步: 将该硬盘进行分区: 对分区进行格式化: 将分区mount到系统某个目录,便可以访问. 本笔记会着重讲一下第一步中涉及的fdisk分区功能以及如何来使用shell进行自动化处理,过程也会涉及后面两步操作的简单说明. fdisk对硬盘进行分区

SHELL脚本自动备份Linux系统

今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份.直接上脚本如下: #!/bin/sh #Automatic Backup Linux System Files #Author wugk 2013-11-22 #Define Variable SOURCE_DIR=( $* ) TARGET_DIR=/data/backup/ YEAR=`date +%Y` MONTH=`date

使用shell脚本调用mysql数据库存储过程,并设置定时任务

本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调用mysql数据库存储过程,如下: #!/bin/bash#0 1 * * * sh /home/drmTrans3/rj_proc.shhost1=127.0.0.1user=systempasswd=linuxport=3306mysql -h${host1} -u${user} -p${pas

用shell脚本自动化安装hadoop

一.概述 1.1 简介 本文主要介绍怎样用 shell 实现 hadoop 的自动化安装.关于手动安装 hadoop 的步骤,可以查看以下链接: http://www.cnblogs.com/13bear/articles/3700842.html 1.2 环境 OS: CentOS release 6.4 (Final) Hadoop:Apache hadoop V1.2.1 1.3 脚本下载 http://pan.baidu.com/s/1eQHyfZk 二.脚本综述 2.1 脚本目录列表

Shell脚本静默安装数据库Oracle 12c (Centos6)

刚入职不久,主管就叫我用shell脚本部署Oracle数据库,一开始懵的一批,手动安装也搞了很久,皇天不负有心人,哈哈!!!搞了几天终于搞好了,也搞了份脚本安装oracle.(对于经常搭建Oracle数据库,重复步骤做得很烦的盆友可以来看看) Oracle安装脚本: [[email protected] ~]# cat oracle_install.sh #!/bin/bash #install oracle #CentOS release 6.9  #关闭selinux sed -i 's/S