美文网首页程序员
mysql数据定时备份

mysql数据定时备份

作者: oYoY | 来源:发表于2018-08-16 10:28 被阅读0次

1.首先明白这里使用shell脚本编写

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言

Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了

Linux 的 Shell 种类众多,常见的有:

Bourne Shell(/usr/bin/sh或/bin/sh)

Bourne Again Shell(/bin/bash)

C Shell(/usr/bin/csh)

K Shell(/usr/bin/ksh)

Shell for Root(/sbin/sh)

……

在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像#!/bin/sh,它同样也可以改为#!/bin/bash

#!  解释

打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。

更多shell解释,请参考http://www.runoob.com/linux/linux-shell.html

2.shell脚本示例

(1)在目录  /opt新建mysqldump目录 (/opt/mysqlbackup)[目录个人自行定义]

在mysqlbackup新建dbbackup.sh文件

命令:cd /opt/mysqlbackup

        vim dbbackup.sh

        wq    //保存退出


(2)

#!/bin/bash

#dbpwd='as!@#888'

#dbuser=root

host=127.0.0.1

port=3306

backupdir='/opt/mysqlbackup/'

time=` date +%Y%m%d%H`

dbname='aishe'

mysqldump -uroot -p $dbname | gzip > $backupdir/db_$time.sql.gz

find $backupdir -name "db_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1


(3)将(2)shell代码,粘贴复制到 刚新建的dbbackup.sh文件,保存退出

(4)执行shell脚本

cd    /opt/mysqlbackup

sh -vx dbbackup.sh

回车后,要求输入数据库密码(因为shell中没有写入数据库密码[数据库密码写入后,执行shell会报错,大意是密码不要写在shell中,注意安全,所以密码在my.cnf设置])

查找my.cnf:  whereis my.cnf

vim my.cnf

在my.cnf加入 

user=XXXXXX

password=XXXXXX

如果上述都就绪,接着执行 sh -vx dbbackup.sh

输入正确的mysql密码后,如果没有任何警告和错误, 查看  备份目录是否生成文件

cd   /opt/mysqlbackup     //备份文件存放目录(shell脚本中有设置)

ll

如果出现

备份文件

脚本执行成功!

(5)手动执行脚本,成功

将脚本加入计划任务

crontab -e

写入

33 17 * * * /opt/mysqlbackup/dbbackup.sh

//分 时  日 月  周   脚本路径

crontab格式

如果任务执行失败了,可以通过以下命令查看任务日志

tail -f /var/log/cron

3.此外 执行并检测shell脚本

 命令: sh -vx xxxx.sh   //xxx表示shell文件名

 (2)shell脚本里面写字符串执行时经常会报错XXX command not found

删除空格

相关文章

  • mysql全量备份数据

    导读:本文介绍的是mysql数据备份恢复的相关知识,以及通过shell编写备份脚本定时执行! 1、mysql数据备...

  • MySQL定时备份数据库

    为了避免线上系统出现不可逆的数据破坏情况,需要对数据进行定时备份。 MySQL数据备份 mysqldump命令备份...

  • shell 定期备份mysql

    mysql数据库需要每天定时备份,于是写了个脚本,加到crontab里面,每天定时备份,直接上脚本

  • mysql定时备份方案

    数据库数据在软件系统中占有重要地位,为避免数据丢失后无法恢复,需要定时备份。 mysql备份命令 mysql自带m...

  • Linux笔记

    Linux定时任务 Mysql备份 Linux+Mysql定时备份 * * * * * user task分 时 ...

  • linux下进行定时mysql数据库全量备份

    mysql定时备份 需求:在每天23:30对当天的数据库进行备份。 建立定时任务 命令:crontab -e 编写...

  • 自动定时备份 mysql 数据库 的 shell 脚本

    一、前颜 通过 mysqldump 和 crontab 实现定时备份 mysql 数据库 二、备份数据库的脚本如下...

  • mysql数据定时备份

    1.首先明白这里使用shell脚本编写 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁...

  • shell定时备份mysql数据库

    mysql_db_backup.sh #!/bin/bash#完成数据库的定时备份。#备份的路径BACKUP=/d...

  • mysql定时备份单个或多个数据库

    参考1:MySQL定时备份数据库(全库备份) 参考网站中的备份多个数据库的话,需要启动使用多个shell脚本文件...

网友评论

    本文标题:mysql数据定时备份

    本文链接:https://www.haomeiwen.com/subject/mkjwbftx.html