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

安装环境: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上传小软件。

时间: 2024-10-12 18:31:05

CentOS Linux中MySQL自动备份及FTP远程备份的相关文章

linux中MySQL本地可以连接,远程连接不上问题

1.网络或防火墙问题 (1)检查网络直接ping你的远程服务器,ping 182.61.22.107,可以ping通说明网络没问题 (2)看端口号3306是不是被防火墙挡住了,telnet 182.61.22.107 3306 下图这样就是防火墙挡住了3306端口不允许访问 配置防火墙,开启3306端口 vi /etc/sysconfig/iptables //防火墙配置 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j AC

centos linux中怎么查看和修改计算机名/etc/sysconfig/network

centos linux中怎么查看和修改计算机名 查看计算机名:在终端输入hostname 修改的话 hostname +计算机名(重启后失效)要永久修改的话要修改配置文件/etc/sysconfig/network修改hostname=你要改的名字

Linux中mysql进入命令行报错:MYSQL ERROR 2003 (HY000): Can&#39;t connect to MySQL server on &#39;192.168.99.192&#39; (111)

场景:在Linux中安装mysql01和mysql02,通过VIP虚出一个VIP=192.168.99.192,mysql01为主ip为192.168.99.153,mysql02为备机ip为192.168.99.154 此时VIP在mysql01上通过 mysql01上连接VIP :mysql -h 192.168.99.192 -P 3306   结果是可以正常进入mysql命令行: 通过mysql02上远程连接VIP 会在界面上报错:mysql error 2003(HY000):Can'

linux中使用计划任务进行数据库定期备份

Linux上经常要使用cornd执行定时任务.如果对crontab掌握不是很熟悉,也可以直接使用宝塔面板进行一些简单的定时计划任务.在我的三 丰 免 费 云主 机上 安装了CentOS系统,并默认安装了宝塔管理面板,为了安全起见,在服务器在正常服务期间,手动关闭了宝塔面板服务进程.为使用宝塔面板管理创建mysql数据库. 1.通过SSH登录,开启宝塔面板服务如下图: 2.登录宝塔面板 使用IP地址并通过设置好的端口进行宝塔管理面板登录 3.选择"计划任务"进行定时备份任务的添加 4.添

linux中mysql基本操作

1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3.linux下关闭mysql的命令: mysqladmin -u root -p密码 shutdown /ect/init.d/mysql shutdown (前面为mysql的安装

linux中mysql多主一从热备份

前面的文章中http://5148737.blog.51cto.com/5138737/1570274 讲了如何进行linux中的mysql热备份,属于一主一从的情况,但是大部分情况都是多台主机备份到一台从机,节省设备嘛. 找了好久,才找到解决方法,写下来,因为真的忘的很快. 主机的配置都是一样的,修改配置文件,加入server-id 等的配置,重启,创建slave用户并授权,查看master状态,到此主机结束. 接下来就是从机了,也主要是从机了. 因为我们需要对数据库进行change mast

Linux中Mysql安装与使用(CentOS-6.5:mysql-5.5.27)

1 Mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的SQL语言是用于访问数据库的最常

Linux FTP远程备份shell脚本命令

定期备份各服务器的动摇资料,到ftp服务器,注意主动模式和被动模式区别 #!/bin/bash #主动FTP对服务端有利,客户端iptables关闭,客户端需要执行passsiveh后上传数据 #被动FTP对客户端有利,服务端iptables关闭,Linux客户端ftp登陆后不需要执行passive命令,可上传 # #vim /etc/sysconfig/iptables #开放防火墙端口主动模式下,客户端防火墙需要关闭 #-A INPUT -p tcp --dport 20 -j ACCEPT

linux中MySQL下添加用户以及给予权限的实现

1.在linux中首先登入mysql:mysql -u root -p(提示输入密码,输入即可)  2.选择mysql数据库:use mysql.    在mysql表中插入系统的用户名和用户密码: insert into user(Host,User,Password) values("localhost","你的用户名",password("你要设置的密码")); 3.刷新mysql系统相关的表:flush privileges; 4.给新增