您的位置:首页 > 数据库 > SQL

CentOS Linux中MySQL自动备份及FTP远程备份

2016-06-17 17:07 686 查看
安装环境:CentOS 6,MySQL5.5
一、背景

近期,公司为加强数据库的数据安全,对数据库进行自动备份,本篇将在Linux下使用crontab自动备份并FTP上传数据库。

二、实施脚本
创建脚本dbbackup.sh

#!/bin/bash
DATE=`date +%Y%m%d%H%M`
DATABASE=****                     #备份数据库
DB_USER=****                      #备份用户名
DB_PASS="*******"                 #备份用户名的密码
BACKUP=********                   #备份路径
/usr/local/mysql/bin/mysqldump -u$DB_USER -p$DB_PASS -h 127.0.0.1 -R --opt $DATABASE |gzip > ${BACKUP}\/${DATABASE}_${DATE}.sql.gz        #备份及压缩
sleep 3

find $BACKUP -mtime +7 |xargs rm -rf             #删除7天以上的备份文件
sleep 3

ftp -vn<<EOF
open *.*.*.26 21                              #打开ftp服务器,21为ftp服务器端口
user username password                        #ftp用户名及密码
binary                                        #二进制上传
cd backup                                     #切换ftp目录
lcd $BACKUP                                   #切换本地目录
prompt                                        #控制是否使用交互模式,使用关闭此功能
mput ${DATABASE}_${DATE}.sql.gz               #上传备份文件
close
bye
EOF
增加可执行权限
chmod +x dbbackup.sh
加入crontab计划任务,每天凌晨3点自动执行。
crontab -e
0 3 * * *  /root/dbbackup.sh >/dev/null 2>&1
不足:因ftp上传中加入删除7天以上备份测试失败,所以未加入脚本中。且脚本中部分设置未使用变量,没实现邮件通知备份成功与否,后续将陆续改进。下篇将介绍SQL Server备份并FTP上传小软件。
本文出自 “Frank” 博客,请务必保留此出处http://zhoufan.blog.51cto.com/4278592/1790389
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: