搜索
您的当前位置:首页mysql定时备份

mysql定时备份

来源:智榕旅游


mysql 备份

备份到压缩文件从压缩文件导入

1、#备份到压缩文件

2、/usr/bin/mysqldump -u root -ppwd database | gzip > database20160929.sql.gz

3、#从压缩文件导入

4、gzip < database20160929.sql.gz | mysql -u root -p database

crontab定时备份

1、创建备份目录

1、# root 用户,创建备份目录

2、mkdir -p /bak/mysqlbak

//3、mkdir -p /bak/mysqldata

2、编写运行脚本

1、vi /usr/sbin/bakmysql.sh

脚本代码:

1、#!/bin/bash

2、# Name:bakmysql.sh

3、# This is a ShellScript For Auto DB Backup and Delete old Backup

4、#

5、backupdir=/bak/mysqlbak

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

7、mysql_bin_dir/mysqldump -u root -ppwd database | gzip > $backupdir/database$time.sql.gz

8、#

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

10、

11、#

脚本说明:

• backupdir mysql备份地址

• root mysql用户名

• pwd mysql密码

• database 数据库名

• mysql_bin_dir mysql的bin路径;

• time=` date +%Y%m%d%H `也可以写为time=\"$(date +\"%Y%m%d$H\")\"其中`

符号是TAB键上面的符号,不是ENTER左边的’符号,还有date后要有一个空格。

• type f 表示查找普通类型的文件,f表示普通文件。

• mtime +7 按照文件的更改时间来查找文件,+5表示文件更改时间距现在7天以前;

如果是 -mmin +5 表示文件更改时间距现在5分钟以前。

• exec rm {} \\ 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,

然后是一对儿{},一个空格和一个\\,最后是一个分号。

• /dev/null 2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通

俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的& 表示让该命令在后台执行。

3、为脚本添加执行权限

1、# chmod +x /usr/sbin/bakmysql.sh 4、设置crontab定时执行

1、vi /etc/crontab 2、#在最后一行中加入: 3、00 3 * * * root /usr/sbin/bakmysql.sh 4、#表示每天3点00分执行备份 注:crontab配置文件格式如下:

分 时 日 月 周 命令

5、重启crontab

1、/etc/rc.d/init.d/crond restart 这样就完了定时备份并清理前7天的备份数据

因篇幅问题不能全部显示,请点此查看更多更全内容

Top