源码论坛公告:有很多假冒锦尚中国网址和名称的网站出现,还有声称是跟我们合作网站,请擦亮眼睛避免被骗,本站唯一域名为52jscn.com 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

新版大型房产门户源码下载
知名广告联盟 精准不扣量
企业免备案主机仅需80元
亿恩免费建网站 服务器特价
锦尚中国源码论坛
百度站长平台 精确提升SEO
旅游网解决方案 大型旅游门户
大型装修门户助您抢占商机
天翼云主机 四川资源池开启微信营销项目诚招代理【稳定】ios苹果签名 网站封装
安乐业房产网全新来袭
网站源码下载,商业源码下载,源码论坛,网站源码,php源码,asp源码全部就在锦尚中国源码论坛
源码下载,源码论坛,网站源码,php源码,asp源码全部就在锦尚中国源码论坛
网站源码下载,商业源码下载,源码论坛,网站源码,php源码,asp源码全部就在锦尚中国源码论坛
源码下载,源码论坛,网站源码,php源码,asp源码全部就在锦尚中国源码论坛
网站源码下载,商业源码下载,源码论坛,网站源码,php源码,asp源码全部就在锦尚中国源码论坛
查看: 666|回复: 0

[服务器安全] Linux定时备份MySQL数据库

[复制链接]

987

主题

1248

帖子

736万

金币

超级版主

Rank: 8Rank: 8

积分
14725885
发表于 2018-12-27 18:03:16 | 显示全部楼层 |阅读模式


做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法

Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这个就可以设置定时任务去执行相应的操作。

所以,我们通过创建一个shell文件,把执行的命令放在里面,然后再用crontab去定时执行就可以达到我们想要的效果了。

接下来我们一步一步做。

一. 新建一个backup文件夹,用于存放我们的备份文件

Linux系统里,home文件夹一般空间比较充足,可以用来存放我们的备份文件

  1. cd /home
  2. mkdir backup
复制代码


二. 创建一个shell文件,命名为: bk_你的数据库名.sh(或者你自定义也行,最好语义化,一眼看得懂)

假设为 bk_mydatabase.sh

  1. vi bk_mydatabase.sh
复制代码


三. 在这个shell文件里添加要执行的命令,即备份mysql数据库的命令,并保存

注意:-u和-p后面接上你的mysql用户名和密码,不要带空格,数据库名就填你要备份的数据库名称

这里备份的名称就是你的 数据库名称_备份的时间.sql ,方便查看是什么时候备份的

crontab执行命令必须加上命令的全路径写全,比如我就加上了 “/usr/local/mysql/bin/” ,这里是我踩过的坑,没加全路径导出来的文件都是0KB,踩过就记住了

  1. #!/bin/bash

  2. /usr/local/mysql/bin/mysqldump -u用户名 -p密码 数据库名 > /home/backup/数据库名_$(date +%Y%m%d_%H%M%S).sql
复制代码


如果你要备份成压缩文件的话,可以写成下面这个命令

  1. #!/bin/bash

  2. /usr/local/mysql/bin/mysqldump -u用户名 -p密码 数据库名 | gzip > /home/backup/数据库名_$(date +%Y%m%d_%H%M%S).sql.gz
复制代码


添加好后记得保存

四. 修改刚才的shell文件的权限

  1. chmod u+x bk_数据库名.sh
复制代码


五. 可以测试一下这个shell是否能执行,输入文件名即可直接执行

  1. ./bk_数据库名.sh
复制代码


执行后去backup文件夹里看看,是否有导出来的文件

六. 查看crontab是否安装(如果已安装则请略过)

先看看crontab是否安装了,一般都是安装好的,如果没安装,就先安装一下呗,安装命令如下(已安装的就不用管了)

安装:

yum -y install vixie-cron
yum -y install crontabs


CentOS中添加开机自动启动:

chkconfig --level 345 crond on

七. 在crontab中设置定时任务

输入以下命令进入crontab任务设置

  1. crontab -e
复制代码


在里面添加以下命令

  1. 59 23 * * * /home/bk_数据库名.sh
复制代码


保存后,你的shell文件就会被定时执行了

解释一下刚才添加的命令

“ 59 23 * * * ”是crontab的时间规则,即执行周期,我写的这句解析后就是每天的 23:59 执行一次 home目录下的那个bk_数据库名.sh文件

执行周期可以按照自己的需求来设定

到此,我们就完成了每天23:59备份一次数据库到我们的home下的backup文件夹中的操作


锦尚数据隆重推出免备案国内BGP多线主机,相信欧阳没错滴   双线至强云主机火热订购 http://yun.52jscn.com/shuanxian.html
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码

锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 )

GMT+8, 2019-2-17 21:49 , Processed in 0.126304 second(s), 26 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 锦尚爱心