对mifeng数据库进行每周六3:33完全热备份,并可以完全恢复!

一、先建立备份脚本

#vi /mifengbackup/backup.sh

#!bin/bash
cd /mifengbackup
echo "You are in backup dir"
mv backup* /oldbackup
echo "Old dbs are moved to oldbackup folder"
File = backup-$Now.sql
mysqldump -uroot -p123456 --quick --databases database-names --flush-logs --single-transaction > $File
echo "Your database backup successfully completed"

上面脚本文件保存为backup.sh,并且系统中已经创建两个目录/oldbackup和/mifengbackup。每次执行backup.sh时都会先将/mifengbackup目录下所有名称为backup开头的文件移到/oldbackup目录。

对于具体备份sql如果不熟悉,可以看我的这篇文章:mysqldump使用大全

二、为上述脚本制定执行计划

#crontab -e
30 1 * * * /backup.sh

更多关于crontab知识,参阅:Linux定时任务Crontab命令详解

附mysqldump参数说明:MYSQLDUMP参数详解(转)写得很详细!

到了计划任务执行的时间,执行好后会给我们发一封邮件,这是给我们的提示

You have new mail in /var/spool/mail/root

根据提示查看这封邮件

[root@localhost mail]# vi root
X-Original-To: root
Delivered-To: root@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid )
id 46BD24493CA2; Sat, Dec :: - (PST)
From: "(Cron Daemon)" <root@localhost.localdomain>
To: root@localhost.localdomain
Subject: Cron <root@localhost> /backup.sh
Content-Type: text/plain; charset=UTF-
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/>
X-Cron-Env: <LANG=en_US.UTF->
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <.46BD24493CA2@localhost.localdomain>
Date: Sat, Dec :: - (PST) /bin/sh: /backup.sh: No such file or directory

主要是最后一句,是错误原因,提示文件路径找不到,因为我们没有配置环境变量,所以涉及到路径的最好写绝对路径。

#vi /usr/local/mifengbackup/backup.sh

#!bin/bash
cd /usr/local/mifengbackup
echo "You are in mifengbackup dir"
mv backup* /usr/local/oldbackup
echo "Old dbs are moved to oldbackup folder"
File = backup-$Now.sql
mysqldump -h177.77.177. -uroot -p123456 --quick --databases mifeng --flush-logs --single-transaction > $File
echo "Your database backup successfully completed"

三、恢复备份sql文件

cd /mysqlback
tar zxvf extmail20170515.tar.gz
mv extmail20170515.sql extmail.sql
mysql -uroot -p < extmail.sql

linux下利用shell脚本和mysqldump热备份和恢复mysql的更多相关文章

  1. linux下利用shell脚本实现添加crontab任务

    本来直接用crontab -e 就可以打开vim,输入要执行的任务保存退出就可以添加任务直接启动运行了.但是今天组长说能不能写个shell不用打开vi就能添加到crontab的. 最先想到的是怎么在s ...

  2. ftp:linux下利用shell脚本添加虚拟用户并赋予权限

    首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: #!/bin/bash # ];then username=$ password=$ hom ...

  3. Linux下添加shell脚本使得nginx日志每天定时切割压缩

    Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...

  4. linux下实现shell脚本自动连接mongodb数据库并创建索引

    在linux下创建shell脚本

  5. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

  6. shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中

    shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...

  7. windows下建立文件的换行符^M导致linux下的shell脚本执行错误的解决方式

    常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主 ...

  8. linux下的shell脚本(基本)

    shell有些命令和格式不用老是容易忘,学而时习之,不亦说乎~ 先说明以下内容来自: http://c.biancheng.net/cpp/shell/ ,C语言中文网,请大家支持原作,点击链接查看. ...

  9. Linux 下执行Shell 脚本的方式

    Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name:(2)path/script-name或者./script-name:(3)so ...

随机推荐

  1. mount 和 umount 命令

    参考:http://man.chinaunix.net/linux/mandrake/101/zh_cn/Command-Line.html/fs-and-mntpoints-mount.html 现 ...

  2. SharePoint 在中国为什么吃不开?

    1.功能不完善,二次开发费时费力?2.没有完整的解决方案,案例太少,很多企业不敢下手?3.国内人员,操作性比较差,不愿意接受SharePoint的操作方式?4.价格太贵,小型企业花费性价比不高?5.界 ...

  3. OpenShift DNS的机制

    为什么不直接用kube-dns? 为什么不直接用kube-dns? 为什么不直接用kube-dns? 感谢各位前辈的专研,在下午有限的时间里把Openshift DNS的机制理了一下.更详细的材料大家 ...

  4. Python学习(四)数据结构 —— dict

    词典类型 dict 字典由键(key)和对应值(value)成对组成.字典也被称作关联数组或哈希表. dict 赋值 dict 整体放在花括号{}中,每个键与值用冒号隔开(:),每对用逗号分割: d ...

  5. Servlet学习笔记(三):HTTP请求与响应

    一.HTTP请求常用方法: Cookie[] getCookies()返回一个数组,包含客户端发送该请求的所有的 Cookie 对象. Enumeration getAttributeNames()返 ...

  6. Android实战简易教程-第二十八枪(基于Bmob实现头像图片设置和网络上传功能!)

    上一篇我们介绍了怎样由uri转换成String ,本文就用到了上篇文章的方法.以下我们介绍一下怎样设置头像后将头像图片上传到云端的方法,本文基于Bmob提供的服务. 看一下代码:(布局文件和前两篇文章 ...

  7. hdoj5645DZY Loves Balls

    Problem Description DZY loves playing balls. He has n balls in a big box. On each ball there is an i ...

  8. Android编译程序报错:Re-installation failed due to different application signatures.

    如果机子上已经安装非本机编译的android程序,在编译的时候就会报错.方法首选的是删除原程序,然后再进行编译. 但是有一部分程序是烧录在系统程序里面的,无法直接删除,这时候可以使用adb shell ...

  9. p2p网贷3种运营模式

      迄今为止,接触了3套不同的P2P系统.当中一套是我參与开发的,另外两套是别的开发商提供的. P2P系统的核心实体:借款人.平台.理財人. 模式一:   借款人的线上账号由平台统一维护.借款人能够通 ...

  10. 转:sock_ev——linux平台socket事件框架(logTrace) .

    写代码要有调试log,采用syslog的输出:一般会输出到"/var/log/messages" /**************************************** ...