CentOS 系统实现自动备份MYSQL 发往远程FTP

  网站最重要的是数据,可明天手动备份还是太繁琐了,而且8630.html">有时候怕忘记,尤其是使用VPS的朋友,说不定那天IDC 跑路了就完蛋了,所以今天给大家准备一个自动备份MYSQL数据库的脚本,网上有不少类似的脚本,不过测试了几个不是这个问题就是那个问题,要不就只能备份单个数据库导出SQL文件。反正不是特别理想。晚上选择了其中一个测试了半天无法上传,翻阅资料做了一点点修改,OK了,以完全可以正常使用了,就分享出来供大家参考吧。先说说这个脚本的特点,这个脚本的好处是直接打包DATA 文件,当然就可以包含DATA 文件夹下所有数据库,和其他的倒出.SQL 文件相比,更方便只要MYSQL版本一样,备份出来的数据,还原的只要停止MYSQL 服务 直接复制到 VPS mysqldata 文件夹下覆盖即可,最大的大优势是,数据库大点也不会出现SQL 导入失败的情况。

  使用脚本需要注意的地方:脚本最好不要在本地用记事本打开编辑,测试发现很容易出现权限问题导致无法运行,最好直接下载到VPS用IV 编辑,或者可以直接用VI创建个脚本 再把代码复制进去都可以。

  一. VPS直接下载

  wget http://www.vpsck.com/soft/mysql_databak.sh

  脚本内容及说明

  #!/bin/sh /etc/init.d/mysqld stop #执行备份前先停止MySql,防止有数据正在写入,备份出错 date=` date +%Y%m%d ` #获取当前日期 DAYS=3 #DAYS=3代表删除3天前的备份,即只保留最近3天的备份 BK_DR=/home/mysql_data #备份文件存放路径 DB_DR=/www/wdlinux/mysql-5.1.63/var #数据库所有在路径 LINUX_USER=root #系统用户名 tar zcvf $BK_DR/mysql_data$date.tar.gz $DB_DR #备份数据 /etc/init.d/mysqld start #备份完成后,启动MySql chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者 find $BK_DR -name "mysql_data*" -type f -mtime +$DAYS -exec rm {} \; #删除3天前的备份文件(注意:{} \;中间有空格) deldate=` date -d -3day +%Y_%m_%d ` #删除ftp服务器空间3天前的备份 ftp -v -n 192.168.0.1 << END #这个地方写你远程FTP 的IP或者域名 user vpsbf 123456 #用户名、密码 binary #设置二进制传输 cd mysqlbak #进入ftp目录(注意:这个目录远程FTP里先手动创建) lcd /home/mysql_data #列出本地目录 prompt mput mysql_data$date.tar.gz mysql_data$date.tar.gz #上传目录中的文件 mdelete mysql_data$deldate.tar.gz mysql_data$deldate.tar.gz #删除ftp空间7天前的备份 close #关闭 bye #退出 END

  二.在VPS上创建 /home/mysql_data 文件夹

  ssh 创建也可以 命令创建也可以随便

  三.编辑脚本相关内容

  vi /root/mysql_databak.sh

  vi 命令使用暂时没有写说明如果不会先搜索下吧 过两天写个教程

  四.给予脚本执行权限

  chmod +x /home/mysql_databak.sh

  五.利用crontab 实现定时自动运行(如果没有装可以先搜索下安装流程日后补教程)

  vi /etc/crontab

  在下面添加运行代码

  10 2 * * * root /home/mysql_databak.sh

  表示每天凌晨2点10分执行备份

  六.测试脚本是否设置成功

  ./mysql_databak.sh

  如果成功的话FTP 和VPS 相应的目录下就会产生备份好了的文件了

  七.设置 crontab

  chkconfig crond on #设为开机启动 service crond start #启动任务

  通过一系列的设置,你的数据就非常安全了,明天定时备份。不怕任何意外导致数据丢失了。

 

时间: 2024-09-14 02:18:11

CentOS 系统实现自动备份MYSQL 发往远程FTP的相关文章

Window系统下自动备份MySql数据库方法_Mysql

Window下可以使用Bat批处理文件来对MySql进行备份操作,备份时一般数据量较大的情况可以使用复制文件的方式,但是这种方式要求服务器停机或者停止写入命令,不大使用.如果数据不大,推荐使用mysqldump命令来备份数据库文件为sql文件.使用方法为mysqldump –uroot –ppassword dbname > db_date.sql.编写bat文件,使用window的任务计划来定时执行bat文件就可以实现MySql数据库的定时备份.Bat文件如下: 复制代码 代码如下: [htm

CentOS系统下如何设置mysql每天自动备份_Mysql

前言 大家都知道数据是一个比较重要的数据,经常需要备份,每次都手动比较麻烦.通过本文来一起来看看CentOS系统下如何设置mysql每天自动备份吧. 步骤如下 建备份文件夹: mkdir mysql_data_bak 建脚本文件: touch autobackupmysql.sh 打开文件 vi autobackupmysql.sh 在脚本中加入如下内容: filename=`date +%Y%m%d` /usr/bin/mysqldump -uroot -proot boss >>/home

CentOS自动备份mysql并上传到远程ftp脚本

一,定时备份mysql数据库 安全起见,直接用Root执行的:  代码如下 复制代码 /root/mysql_backup.sh # everyday 3:00 AM execute database backup 3 0 * * * /root/mysql_backup.sh 以下是自动自动备份shell,只保留最新5天  代码如下 复制代码 #!/bin/sh  # mysql_backup.sh: backup mysql databases and keep newest 5 days

Linux自动备份MySQL数据库的实用方法

MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据. ◆1.创建备份文件夹 #cd /www #makedir backup ◆2.编写运行脚本 #vi autobackup 写入以下内容: filename=`date +%Y%m%d` mysql_bin_dir/mysqldump –opt dataname -u user -ppassword gzip > /www/mysqlbackup/name$filename.gz 保存退

Linux自动备份MySQL数据库

MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系 统定期备份数据. 1.创建备份文件夹 #cd /www #makedir backup 2.编写运行脚本 #vi autobackup 写入以下内容: filename=`date +%Y%m%d` mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip > /www/mysqlbackup/name$filename.gz 保存

Windows 8系统的自动备份功能

很多不熟悉操作系统的用户都误删过重要的文件.照片或程序.由于他们玩不转电脑,所以文件被删后只能干着急.的确,电脑高手用数据恢复软件恢复文件是分分钟的事,但新手只能一筹莫展.下面,笔者就向win8用户介绍一种无需第三方软件的恢复文件方法,那就是Win8系统的自动备份功能. 具体方法: 一.进入Win8控制面板,然后点击左侧的"文件历史记录"选项进入设置; 二.进入文件历史记录设置后,发现文件历史记录功能是默认关闭状况,点击开启(注意:这里需要插入安装盘),连接好后再次点击开启,系统文件就

mysqldump使用脚本自动备份mysql数据库

问题描述 mysqldump使用脚本自动备份mysql数据库 在linux服务器使用脚本自动数据库时,报如下错误,备份不成功,求问大神如何解决:Warning: Using a password on the command line interface can be insecure 以下是我的脚本:#!/bin/shDUMP=/usr/local/mysql/bin/mysqldumpOUT_DIR=/home/dbbak/todayOUT_HISTORY_DIR=/home/dbbak/o

Linux下自动备份MySQL的方法_Mysql

Linux下可以利用crontab系统每天定时备份MySQL数据库,以下是详细步骤: 1.创建保存备份文件的路径/mysqldata #mkdir /mysqldata 2.创建/usr/sbin/bakmysql文件 #vi /usr/sbin/bakmysql 输入 rq=` date +%Y%m%d ` tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql 或者写成 rq=` date +%Y%m%d ` mysqldump –all-dat

Linux自动备份MySQL数据库脚本代码

下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行.在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是,这段脚本仅适用数据一致性要求不高的环境.  代码如下 复制代码 #!/bin/bash mysql_pwd="password" mysql_dump="/usr/local/mysql/bin/mysqldump" cur_year=$(date +"%Y&