对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. 后端程序员写的前端js代码模板

    看几天的javascript面向对象和基础等之类相关javascript的知识,因为自己是写php的,也写过java,所以想在写javascript代码的时候也能用上面向对象的思想, 折腾了一整天的j ...

  2. python 实现Hadoop的partitioner和二次排序

    我们知道,一个典型的Map-Reduce过程包 括:Input->Map->Partition->Reduce->Output. Partition负责把Map任务输出的中间结 ...

  3. python的__slots__节约内存的魔法;检查python每一行代码内存占用情况的工具

    在Python中,每个类都有实例属性.默认情况下Python用一个字典来保存一个对象的实例属性.这非常有用,因为它允许我们在运行时去设置任意的新属性. 然而,对于有着已知属性的小类来说,它可能是个瓶颈 ...

  4. 数学图形(1.39)TN constant curve

    这是个类似巴黎铁塔的曲线. #http://www.mathcurve.com/courbes2d/tn/tn.shtml vertices = t = to (PI*0.999) a = s = s ...

  5. 融合libevent和protobuf

    写了一个简单的例子,把libevent中的bufferevent网络收发服务和protobuf里面的序列反序列结合起来. protobuf文件message.proto: message PMessa ...

  6. [Todo]提升电商网站性能方面的一些资料材料

    又到国庆,喷一喷12306.cn的技术架构 http://chengxu.org/p/369.html 其中用到了不少比较细节的优化技巧. 提到库存管理是电商非常难的地方.也讲了跟秒杀相关的一些内容.

  7. 【OpenMesh】Training:Getting Started with OpenMesh

    内容出自236329 - Digital Geometry Processing, Spring2013 - Announcements上的OpenMesh Assignment感觉比较好,适合刚开始 ...

  8. GameObjectPool——Unity中的对象池

    这里介绍一种对象池的写法.它的优点在于无论取出还是插入游戏物体都是常数量时间. using UnityEngine; using System.Collections; using System.Co ...

  9. Forms.Timer、Timers.Timer、Threading.Timer的研究

    .NET Framework里面提供了三种Timer System.Windows.Forms.Timer System.Timers.Timer System.Threading.Timer 一.S ...

  10. cannot resolve symbol AppCompatActivity 心得

    新建Active 默认用的AppCompatActivity竟然报错cannot resolve symbol AppCompatActivity,网上找了半天,最后在朋友的帮助下解决,记录下 一.导 ...