南屿北岛

Linux下mysql自动备份脚本
       逛了蛮多博客网站的,亲眼看到一...
扫描右侧二维码阅读全文
26
2018/06

Linux下mysql自动备份脚本

       逛了蛮多博客网站的,亲眼看到一个博客网站数据丢失之后的模样,挺为他心痛的。于是就打算弄个mysql定时备份的脚本,可以自行设计crontab定时执行时间,可以是周一和周四每周备份两次就可以了。

脚本

       新建一个mysql_backup.sh文件

#!/bin/bash
#设置mysql的备份保存目录
folder=/root/mysql_back
cd $folder
day=`date +%Y%m%d`
mkdir -p "$day"
cd $day
#数据库服务器ip,填写服务器的公网地址即可
host=xx.xx.xx.xx
#用户名
user=root
#密码
password=password
#要备份的数据库名
db=test

#执行备份语句
mysqldump -h$host -u$user -p$password $db > ./test.sql

注意

上方需要你 修改 并且 注意 的地方有:

  • folder设置的目录你可以自行设置
  • day=date +%Y%m%d,"+"和"date"必须有个空格,否则会有语法错误
  • host为你的服务器公网IP
  • user一般都是root
  • password为root的密码
  • db为博客的数据库名

测试脚本是否正确,执行脚本

sh mysql_backup.sh

QQ截图20180626230755.png

QQ截图20180626230835.png

因为我是为了测试crontab的定时任务执行是否有效,我设置的是1分钟执行一次,其中day=`date +%Y%m%d_%H%M%S`。(为了执行效果而截的图,可忽略)

QQ截图20180626231009.png

定时任务

设置好定时任务crontab执行时间,一般ESC都会自带crontab服务的。查看crontab服务状态

service crond status

QQ截图20180626225857.png

有蓝色指示灯说明服务运行正常,OK,开始设置定时任务

crontab -e

键入i,进入编辑模式:
敲入下列命令:每周1和周4凌晨2点会执行定时脚本

0 2 * * 1,4 /etc/profile;/bin/sh /root/mysqlbackup.sh

重启crontab服务使之生效

/bin/systemctl restart crond.service

OK了,之后查看备份的文件就在上面脚本定义的目录上查看即可

cd /root/mysql_back

为你的博客进行备份,不再为数据丢失而烦恼啦。

是不是so easy。有啥问题尽情留言,秒回

推荐阅读

关于定时执行任务:Crontab的20个例子
Linux crontab定时执行任务 命令格式与详细例子
Linux crontab命令

Last modification:June 28th, 2018 at 10:09 pm

Leave a Comment

20 comments

  1. 龙笑天

    服务器配置好后 就不敢随便动了...ヾ(≧∇≦*)ゝ

    1. 南屿北岛
      @龙笑天

      大佬的网站内容这么多,要随时注意备份呀
      ୧(๑•̀⌄•́๑)૭

  2. 房东的猫

    我又来学习来了。 我已经用上了。

    1. 南屿北岛
      @房东的猫

      你之前的数据还找得回吗
      找不回就可惜了啊
      希望可以帮到你( ๑´•ω•) "(ㆆᴗㆆ)

      1. 房东的猫
        @南屿北岛

        哈 找不回了 你人真好啊

        1. 南屿北岛
          @房东的猫

          记录的生活轨迹数据没了,挺难过的

  3. 芭比

    我好想没有什么备份的习惯。。。

    1. 南屿北岛
      @芭比

      因为是看到你博客的一个好友,房东的猫
      数据丢失了,感触很深。哎,数据一下子没了,比较无助。
      时常备份一下,还是比较有安全感的。

      1. 芭比
        @南屿北岛

        可能我比较佛系吧哈哈,数据丢失了就是缘分到了尽头

        1. 南屿北岛
          @芭比

          别啊 ,教程在这里,
          不行我给你弄个定时任务,不要你管,每周北方两次可以的。
          我给你弄个吧

          1. 芭比
            @南屿北岛

            可我用的是虚拟主机呀, 你这好想要云服务器之类的

            1. 南屿北岛
              @芭比

              虚拟主机我没用过(´இ皿இ`),可以敲命令就行吧。
              没事,我研究研究,周末给你弄上

              1. 芭比
                @南屿北岛

                没有命令可以敲哇。 就一个控制面板,绑定域名、访问phpmyadmin数据库啥的。

                1. 南屿北岛
                  @芭比

                  我搜索看了一下,虚拟主机配置定时任务:http://www.web1992.com/info/261.html
                  里面是定时调php,可是我一点都不会php哎。
                  http://www.web1992.com/info/261.html,这个是php写的mysql备份数据的
                  不知能不能行。

  4. 南屿北岛

    123

  5. verkey

    我是直接将网站及数据库备份到本地和OOS及自己的电脑,有点两地三中心的感觉。

    1. 南屿北岛
      @verkey

      我之前也是直接打包备份源码,还有导出数据库备份的。不过有时候会忘记。两地三中心,高大上的感觉哇,很严谨\^O^/妈妈再也不用担心我博客数据丢失啦

    2. verkey
      @verkey

      打错了是OSS