`
focus_zhong
  • 浏览: 20468 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux定时备份mysql数据到windows

阅读更多

1.在linux服务器上安装ftp服务端软件

 

wget http://mirror.centos.org/centos-6/6.3/os/x86_64/Packages/vsftpd-2.2.2-11.el6.x86_64.rpm
rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm

 2.安装成功后修改/etc/vsftpd/vsftpd.conf,这里主要设置拒绝匿名登录和锁定用户到自家目录

 

 

#拒绝匿名登录
anonymous_enable=NO
#锁定用户到自家目录
chroot_local_user=YES
ps:更多ftp设置参考http://zserver.blog.51cto.com/370152/157203/

 3.service vsftpd restart 重启ftp服务.

 

 4.设置iptables,这里ftp采用的是Port模式,只需要打开监听端口21和数据端口20

 

编辑/etc/sysconfig/iptables,添加如下规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

 5.重启刷新防火墙规则,service iptables restart

 

 6.在linux系统为ftp添加一个用户,并将用户家目录设置为ftp默认目录 通过-d参数设置,最后设置密码。

 

useradd  ftp1 -d /var/ftp/pub -s /sbin/nologin
passwd ftp1

    到这一步,linux段的ftp服务就算安装完成了。

 

7.编写shell脚本/home/scripts/dumpdata.sh备份mysql数据到ftp目录/var/ftp/pub

mysqldump --no-defaults --default-character-set=utf8 --single-transaction -uroot -p123456 dbname> /var/ftp/pub/dbname`date +%y%m%d`.sql
 cd /var/ftp/pub
 tar -jcf richart`date +%y%m%d`.tar.bz2 ./richart`date +%y%m%d`.sql
 if [ $? -eq 0 ]
 then
        rm -rf /var/ftp/pub/richart`date +%y%m%d`.sql#打包压缩成功后,删除原文件,节约空间
 fi
find /var/ftp/pub/ -mtime +90 -name *.tar.bz2 -exec rm -f {} \;#删除90天前的备份文件
ps:编写完了记得给脚本加执行权限

 8,将脚本加入到crond计划,crontab -e,加入下面代码

02 3 * * * /home/scripts/dumpdata.sh

    到这里服务器段的工作就算完成了,接下来就是要在windows(xp)端获取数据

 

 9,编写批处理文件wget.bat,通过ftp获取数据,并删除90天前的备份文件

G:
cd G:/sqldata
set fileName=dbname%date:~2,2%%date:~5,2%%date:~8,2%.tar.bz2
(echo open 192.168.1.100
echo ftp1
echo ftp1pass
echo prompt
echo binary
echo get %fileName%
echo bye) > ftp_getData.src
ftp -s:ftp_getData.src
forfiles /p "G:\sqldata"  /m *.tar.bz2 /d -90 /c "cmd /c del @path"
echo %date%sql数据备份成功!时间:%time% >> ftp.log
ps:有的xp系统中最初可能没有forfiles这个命令,通过网上下载后放在C:\WINDOWS\system32里面

10,最后一步,将wget.bat批处理命令加入到windows计划任务

运行,cmd,打开dos窗口
net stop schedule
net start schedule
at 03:46 /every:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday G:\sqldata\wget.bat
at 命令查看计划任务列表
ps:有的windows系统task scheduler服务是禁止的,通过控制面板-->管理工具-->服务,找到该服务,启用就可以了。
1
2
分享到:
评论
3 楼 focus_zhong 2013-04-03  
行md5
roastduck 写道
如果windows去拿时mysql因为某些原因还没完成导出怎么办?
怎么确定通过ftp取回来的文件是完整无误的?
建议,mysql导出后,tar后加一校验动作.把校验结果写入文本文件,
windows取回tar文件和用于校验的文本文件后.windows根据文本内容校验取回的文件是否正确,从而判断取回的文件是否完整无误.

最简单是校验方式是 检查文件大小 或 进行md5

嗯,你说的时候检验动作很有道理,值得借鉴和学习,但我觉得的不需要md5加密和把校验结果写入文本文件,因为这样,出了错也只是记录在文本文件中不能及时发现。我的思路是在tar 打包后判断命令是否执行成功即$?是否等于0,如果等于0再检查文件的大小,如果有问题则删除压缩文件和源文件重新执行备份压缩动作,如果还不成功,邮件通知。由于是内网传输数据,数据传输出错的可能性不大,只要在windows端把获取时间和备份时间错开时间长一点,获取完后检查文件大小,如果有问题删除重新获取一遍!
2 楼 roastduck 2013-04-03  
如果windows去拿时mysql因为某些原因还没完成导出怎么办?
怎么确定通过ftp取回来的文件是完整无误的?
建议,mysql导出后,tar后加一校验动作.把校验结果写入文本文件,
windows取回tar文件和用于校验的文本文件后.windows根据文本内容校验取回的文件是否正确,从而判断取回的文件是否完整无误.

最简单是校验方式是 检查文件大小 或 进行md5
1 楼 啦登2010 2013-04-02  

相关推荐

    利用Crontab为Linux定时备份Mysql数据库

    下面将详细介绍如何利用Crontab来实现Linux定时备份MySQL数据库的步骤。 首先,你需要创建一个用于存放备份文件的目录。在本例中,我们创建`/mysqldata`作为备份存储位置: ```bash # mkdir /mysqldata ``` 接...

    linux服务器定时自动备份mysql数据库的脚本sh

    利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh

    使用linux命令实现定时备份mysql数据+还原备份

    【使用Linux命令实现定时备份MySQL数据+还原备份】 在Linux环境中,为了确保数据的安全性和可靠性,定期备份MySQL数据库是一项至关重要的任务。以下是如何利用Linux命令行工具实现这一目标的详细步骤。 ### 一、...

    Linux下定时备份MySQL数据库的Shell脚本.pdf

    ### Linux下定时备份MySQL数据库的Shell脚本知识点详解 #### 一、背景介绍与重要性 对于每一个在线网站或服务而言,数据备份是一项至关重要的任务。无论是为了应对未来的版本升级,还是服务器迁移的需求,定期备份...

    linux服务器如何每天定时的备份mysql

    ### Linux服务器如何实现MySQL数据库的每日定时备份 随着业务的发展,数据的重要性日益凸显,因此确保数据的安全性成为了每一个运维人员必须面对的任务之一。对于Linux环境下部署的MySQL数据库来说,实现每日定时...

    mysql数据库自动定时备份

    MySQL数据库的自动定时备份是数据库管理中的重要环节,它确保了数据的安全性和可恢复性,尤其是在发生意外情况如系统故障、硬件损坏或人为错误时。本教程将详细讲解如何设置MySQL数据库的自动定时备份,包括步骤、所...

    linux mysql定时备份脚本

    本文将详细介绍如何利用shell脚本来创建MySQL的定时备份,并结合提供的"mysqlbackup.sh"脚本和"添加定时任务.txt"文件,帮助你实现这一功能。 首先,我们来看"mysqlbackup.sh"这个shell脚本。这个脚本通常包含以下...

    定时备份mysql数据库

    定时备份MySQL数据库是一项必不可少的任务,确保在出现意外情况如硬件故障、软件错误或人为操作失误时,能够快速恢复到正常状态。本篇文章将详细介绍如何配置定时备份MySQL数据库,包括每日、每周和每月的备份策略。...

    linux下mysql定时备份

    ### Linux下MySQL定时备份知识点详解 #### 一、概述 在Linux环境中,为了确保数据的安全性和可用性,定期对MySQL数据库进行备份是非常重要的。本文将详细介绍如何在Linux系统下设置MySQL数据库的定时备份,包括...

    Linux下定时备份文件.zip_数据库定时备份

    2. `Linux下定时备份文件 - CSDN博客.url`:这是一个链接,可能指向一篇关于如何在Linux下进行定时备份的教程,CSDN是中国一个知名的开发者社区。 3. `3.添加计划任务,每7天执行一次`:这部分可能是关于如何配置cron...

    mysql定时备份(linux脚本).zip

    标题中的"mysql定时备份(linux脚本)"指的是一个使用Linux shell编写的脚本,用于自动执行MySQL数据库的备份任务。这个脚本通常会包含以下几个关键部分: 1. **连接信息**:包括MySQL服务器的IP地址、端口、用户名和...

    如何在linux下实现mysql数据库每天自动备份 txt

    在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来实现MySQL数据库的每日自动备份。 #### 一、准备...

    linux自定义脚本 定时任务备份mysql

    linux 定时备份mysql数据库

    Linux shell实现每天定时备份mysql数据库

    在Linux环境中,使用shell脚本来实现每天定时备份MySQL数据库是一种常见的自动化操作,它可以帮助系统管理员高效地维护数据库的备份策略,确保数据的安全性。以下将详细介绍如何通过Linux shell实现这个功能。 首先...

    linux mysql定时备份

    #### 定时备份MySQL数据库 为了减少人工干预并提高效率,设置MySQL数据库的定时备份机制是十分必要的。以下为具体操作步骤: 1. **创建备份脚本**:编辑`mysql_backup.sh`脚本,利用`#!/bin/bash`指定脚本解释器,...

    Mysql数据库定时备份(linux版)v1.0.docx

    MySQL数据库在Linux环境下的定时备份是确保数据安全和业务连续性的重要环节。下面将详细介绍如何通过自定义的Shell脚本和Linux的定时任务(Cron)来实现这一目标。 首先,确保你的Linux服务器上已经安装了MySQL服务...

    Linux下MYSQL每天完全备份

    利用crontab,系统每天定时备份mysql数据库 利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。 1、创建保存备份文件的路径/mysqldata #mkdir /mysqldata 2、创建/usr/sbin/...

    定时备份数据库,及问题总结 亲测有效

    综上所述,定时备份MySQL数据库是一个涉及多个步骤的过程,包括编写备份脚本、设置执行权限、配置cron任务等。通过这些步骤,可以确保数据库在指定的时间点得到自动备份,从而提供可靠的数据安全保障。

    linux mysql自动备份

    mysql自动备份shell脚本,下载放到root下载etc/crontab中加入定时启动命令

Global site tag (gtag.js) - Google Analytics