百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> centos定时备份数据到远程FTP文件
分享文章到:

centos定时备份数据到远程FTP文件

发布时间:01/15 来源: 浏览: 关键词:
今天公司有两台机器需要每天定时备份数据到服务器,我们来给大家介绍在centos中定时备份数据到远程FTP文件实例,希望给各位同学有帮助吧。

例1,定时备份到远程ftp

先说问题.公司现在有2台服务器,都是centos系统,一台本地(局域网),一台则在电信机房.因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地.

解决方法如下:

1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定.

 代码如下

wget ftp://user_name:password@ip_address:port/dir/file_name2.

定时任务,需要写个脚本,并加入定时任务中.

a.脚本.假设你计划将远程的文件备份到/var/www/html/back目录下,到这个目录下,新建文件,内容如下

 代码如下

!#/bin/sh
cd /var/www/html/back/
wget ftp(上面那条语句)保存为bak.sh

b.加入定时任务.直接vi /etc/crontab 在最后一行加入如下语句

 代码如下
30 18 * * * root /var/www/html/back/bak.sh

(脚本保存的位置)这样每天下午6:30本地的centos机器自动会将远程FTP的文件备份到/var/www/html/back中了.

PS:文中涉及的技术详细情,限于各种因素不细说.大家搜索下就可以了,欢迎给我留言,Q me.


例2,自动备份文件到远程FTP服务器并删除指定日期前的备份

说明:
        我这里要把/home/wwwroot目录下面的所有文件备份到/home/wwwrootbak里面,并且保存为wwwroot20111103.tar.gz的压缩文件(20111103是指备份执行时当天的日期),然后只保留最近7天的备份,再把备份文件通过ftp服务器上传到指定空间,只保留最近7天的数据。

1、创建保存备份文件的目录:/home/wwwrootbak

 代码如下
   cd /home
   mkdir wwwrootbak

2、创建备份脚本文件:/home/wwwrootbak/wwwrootbak.sh

 代码如下
   cd /home
   cd  wwwrootbak
   touch wwwrootbak.sh
   vim wwwrootbak.sh

   输入以下内容:

 代码如下

#!/bin/sh
   BK_DR=/home/wwwrootbak    #备份文件存放路径
   DB_DR=/home/wwwroot
   DAYS=7                    #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
   LINUX_USER=root           #系统用户名
   date=` date +%Y%m%d `
   tar zcvf $BK_DR/wwwroot$date.tar.gz $DB_DR
   chown -R $LINUX_USER:$LINUX_USER $BK_DR  #更改备份数据库文件的所有者
   find $BK_DR -name "wwwroot*" -type f -mtime +$DAYS -exec rm {} ;  #删除7天前的备份文件(注意:{} ;中间有空格)
   deldate=` date -d -7day +%Y%m%d `   #删除ftp服务器空间7天前的备份
   ftp -n<   open 192.168.1.1  21 #打开ftp服务器。21为ftp端口
   user admin 123456  #用户名、密码
   binary  #设置二进制传输
   cd wwwrootbak  #进入ftp目录
   lcd /home/wwwrootbak  #列出本地目录
   prompt
   mput wwwroot$date.tar.gz   wwwroot$date.tar.gz   #上传目录中的文件
   mdelete wwwroot$deldate.tar.gz  wwwroot$deldate.tar.gz  #删除ftp空间7天前的备份
   close
   bye !
 

3、修改文件属性,使其可执行 

 代码如下
   chmod +x /home/wwwrootbak/wwwrootbak.sh

4、修改/etc/crontab

 代码如下
   vi /etc/crontab

   在下面添加 

 代码如下
   5 2 * * * root /home/wwwrootbak/wwwrootbak.sh

   表示每天凌晨2点5分执行备份
5、重新启动crond使设置生效

 代码如下
   /etc/rc.d/init.d/crond restart   #yum install -y vixie-cron安装计划任务,某些系统上可能没有预装
   chkconfig crond on #设为开机启动
   service crond start #启动

每天你在/home/wwwrootbak目录下面可以看到类似wwwroot20111103.tar.gz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩:tar -zxvf  wwwroot20111103.tar.gz

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有12人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板