Home >Database >Mysql Tutorial >MySQL 定时备份操作

MySQL 定时备份操作

WBOY
WBOYOriginal
2016-06-07 17:29:24998browse

1、创建保存备份文件的路径/mysqldata #mkdir /bak/mysqlbak 2、创建/usr/sbin/bakmysql文件 #vi /usr/sbin/bakmysql.sh

1、创建保存备份文件的路径/mysqldata

  #mkdir /bak/mysqlbak

2、创建/usr/sbin/bakmysql文件

  #vi /usr/sbin/bakmysql.sh

3、写入脚本如下脚本 

注意,如果是你的mysql密码是带有特殊字符的,比如!@# ,那么需要在 -p参数后面加上‘’,把密码放在‘’中,'123!@#'

#!/bin/bash
#Name:bakmysql.sh
#This is a ShellScript For Auto DB Backup and Delete old Backup
backupdir=/bak/mysqlbak
time=` date +%Y%m%d%H `
mysqldump --opt -h192.168.1.1 -uroot -p123456 dbname | gzip > $backupdir/mo$time.sql.gz
#
find $backupdir -name "mo*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1

脚本解析:

backupdir 数据库备份路径

time时间点

mysqldump :mysql备份工具,--opt -h 远程执行备份操作,,

dbname:数据库名称,

gzip:压缩成gzip格式的。

最后一个行是保证5最新个备份文件

4、定时任务

修改/etc/crontab

#vi /etc/crontab

在下面添加

01 3 * * * root /usr/sbin/bakmysql

 表示每天3点钟执行备份

5、重新启动crond

  # /etc/rc.d/init.d/crond restart (RedHat)

#/etc/init.d/cron  restart (Ubuntu)

完成。

手工恢复:

先解压gz文件

gunzip  xxx.gz

mysql -u root -p --default-character-set=utf8

use dbname

source /root/xx.sql

搞定

so esay ,那里不会点那里。

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn