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天的备份数据
因篇幅问题不能全部显示,请点此查看更多更全内容