给Linux定时备份数据库的实现脚本
作者:l8947943 发布时间:2024-01-15 09:15:22
标签:Linux,定时备份,脚本
场景:服务器数据库需要实现每天定时备份
1.首先确定备份脚本放置位置
个人放置在 /usr/local/backup文件下,取名文件 bkDatabase.sh
2.编写shell脚本
# 需要注意几点
# 1. -password 如果密码出现括号或下划线请将password用双引号引用起来
# 2. 该脚本是将数据库course1进行备份,并进行压缩处理
# 3. 备份后的文件名称叫course,并附带时间戳
mysqldump -uroot -ppassword course1 | gzip > /usr/local/backup/course_$(date +%Y%m%d_%H%M%S).sql.gz
3.给bash增加权限
chmod u+x bkDatabase.sh
4.测试看看脚本是否是正确可执行的
./bkDatabase.sh
5.打开定时任务
# 第一次设置定时任务可能回让你输入编辑定时任务的vim,选择basic就可以
crontab -e
6.编辑内容
我这儿有三个定时任务 如图:
其中第二个
# 表示每分钟执行一次,执行的脚本为/usr/local/backup/bkDatabase.sh
*/1 * * * * /usr/local/backup/bkDatabase.sh
7.查看定时任务 crontab -l
可以看到是否添加成功(如图)
在备份目录中查看是否成功
8.踩坑
有些定时任务是关闭的,使用命令查看crond
是否正常service
crond status
若正常不用管,若未启动,则重启一次。
针对不同的linux版本,发行版有这个service
重启服务命令:[root@centos6 /]# service crond restart
启动服务命令:[root@centos6 /]# service crond start
停止服务命令:[root@centos6 /]# service crond stop
发行版没有这个service
停止服务:[root@centos6 /]# /etc/init.d/cron stop
启动服务:[root@centos6 /]# /etc/init.d/cron start
服务器数据实现还原
这儿踩坑太多,注意解压gz文件方式!!!
1. 首先对定时任务备份的数据进行解压
注意,是对上面产生的course_20190511_214326.sql.gz进行解压
# 将gz文件进行解压,产生course_20190511_214326.sql文件
gunzip course_20190511_214326.sql.gz
2.接着将数据导入到database中
如果目标服务器没有你要的database,你需要create database 目标数据库;
# 将备份文件sql通过<符号送入到course表中 mysql -u root -p表示实用mysql数据库
mysql -u root -p course< course_20190511_214326.sql
接着会提示Enter Password,输入mysql密码即可实现导入
来源:https://blog.csdn.net/l8947943/article/details/89488184


猜你喜欢
- 前言GraphQL是一种新的API设计语言,它提供了更加灵活、高效的API查询方式。与RESTful API相比,GraphQL可以更好地满
- 前言在Python中元组是一个相较于其他语言比较特别的一个内置序列类型。有些python入门教程把元组成为“不可变的列表”,这种说法是不完备
- 方法一:def dict_to_numpy_method1(dict): dict_sorted=sorted(dict.iteritems
- 学生成绩管理系统简介一个带有登录界面具有增减改查功能的学生成绩管理系统(面向对象思想,利用tkinter库进行制作,利用.txt文件进行存储
- 介绍最近在项目中遇到插入数据瓶颈,几万、几十万、几百万的数据保存到MYSQL数据库,使用EF插入数据速度非常慢,数据量非常大时EF插入需要几
- 在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当 * 作对象数目不大时,
- 本文实例讲述了Python中的装饰器用法。分享给大家供大家参考。具体分析如下:这里还是先由stackoverflow上面的一个问题引起吧,如
- 一、PL/SQL记录:一条记录可简化单行多列的数据的处理。当使用pl/sql记录时,应用开发人员即可以自定义记录类型和记录变量,也可以使用%
- 你是否有时想知道什么人访问你的站点,什么时间,IP地址等。下面我就这个问题向大家来阐述一下。这个例子使用文本文件来写入用户的信息创建一个lo
- 问题查询了很多网上的文章,连接远程服务器调试基本上都是本地复制一个代码文件夹调试好后再部署到服务器上,这就很麻烦,(作为一个懒人)我想直接打
- 在WEB开发中.我们可能都习惯使用下面的代码来获取客户端的IP地址: C#代码 //优先取得 * string IP = Request
- 混编的含义有两种,一种是在python里面写C一种是C里面写python本文主要是进行简化,方便使用。###################
- 1.字符串大小写转换string.title() #将字符串中所有单词的首字母以大写形式显示string.upper() #将字符串中所有字
- 抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢?最近都在做原生JS熟悉的练习。。。用原生Js封装了一个Ajax插件,引入一般的项
- 以下插件是我在项目中经常使用的jQuery插件,不见得是最好的,但是我目前接触到的jQuery插件中最适合我的。01. jQuery.Fle
- 本文使用python的第三方模块requests爬取王者荣耀所有英雄的图片,并将图片按每个英雄为一个目录存入文件夹中,方便用作桌面壁纸下面时
- 引言:在Python3下运行Matplotlib之时,碰到了”No module named _tkinter“的问题,花费数小时进行研究解
- 1 简介Golang 是一门优秀的语言,特别是在并发编程上,得益于它的协程和 channel 等,非常方便易用。它通过 go module
- 说明字符串驻留是一种仅保存一份相同且不可变字符串的方法。不同的值被存放在字符串驻留池中,发生驻留之后, 许多变量可能指向内存中的相同字符串对
- 用tornado web服务的基本流程1.实现处理请求的Handler,该类继承自tornado.web.RequestHandler,实现