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

时间: 2024-11-10 08:10:16

centos定时备份数据到远程FTP文件的相关文章

centos定时备份远程FTP文件方法

先说问题.公司现在有2台服务器,都是centos系统,一台本地(局域网),一台则在电信机房.因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地. 解决方法如下: 1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定.  代码如下 复制代码 wget ftp://user_name:password@ip_address:port/dir/file_name 2.定时任务,需要写个脚本,并加入定时

linux中自动定时备份Linux VPS/服务器网站文件及数据库且FTP上传至主机空间

第一.安装lftp环境   因为我们在上传FTP文件的时候需要用到lftp环境,不能确保所有的系统中都有已经安装,所以我们最好先重新安装.    代码如下 复制代码 #CentOS yum install lftp #Debian apt-get install lftp   第二.创建备份目录    代码如下 复制代码 /home/backup/   我们需要在VPS中创建备份目录,因为在执行备份的时候,是需要先备份到VPS本地,然后再从本地上传到远端FTP空间中.这个地址我们需要跟下面的脚本

Linux VPS 自动备份数据到远程主机FTP的方法_Linux

备份的数据如果不是特别大的话,不建议压缩,防止其中可能会有已经被多次压缩过的文件损坏. 备份数据库的方式为停止MYSQL服务后备份DATA目录,期间MYSQL会中止数秒至数十秒.请自行权衡利弊. 如果系统上没有ftp命令,先执行yum install -y ftp进行安装. 需要先建立/home/backup/目录,该目录不能用作其他用途. 复制代码 代码如下: #!/bin/bash #FTP信息 FTP_IP= FTP_USER= FTP_PASS= #备份数据库 /etc/init.d/m

Centos上安装 sshfs 实现远程挂载文件

下载 wget http://nchc.dl.sourceforge.net/project/fuse/sshfs-fuse/2.4/sshfs-fuse-2.4.tar.gz安装执行:sshfs root@192.168.2.2:/var/mobile/Media/ /mnt/iphone -o nonempty另外 ssh 的用法ssh 192.168.1.1在centos6上使用scp命令复制文件到另外一台linux上时scp -r /root/iftop-0.17/ root@IP:/h

批处理完美实现FTP远程备份数据_DOS/BAT

经过再次努力,终于完成了自己的比较满意的版本,大家多批评-- 批处理功能:           输入几个参数,让批处理代你完成烦琐的工作吧!远程FTP文件到本地计算机,你可以拖入开机启动或任务计划中,定时下载远程的指定数据,希望大家多测试,多提意见,多完善,谢谢!上代码! 举例说明:       我需要每天早上从服务器202.33.22.102上下载指定目录的文件到本机,那么你需要指定以下几个参数即可       一.远程IP,Is not null       二.FTP用户名,Is not

简单的远程FTP定时备份Shell脚本分享_linux shell

先说问题.公司现在有2台服务器,都是centos系统,一台本地(局域网),一台则在电信机房.因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地. 解决方法如下: 1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定. 复制代码 代码如下: wget ftp://user_name:password@ip_address:port/dir/file_name 2.定时任务,需要写个脚本,并加入定时

6个备份数据的去重加密工具

无论是体积还是价值,数据都在不断增长.快速而可靠地备份和恢复数据正变得越来越重要.社会已经适应了技术的广泛使用,并懂得了如何依靠电脑和移动 设备,但很少有人能够面对丢失重要数据的现实.在遭受数据损失的公司中,30% 的公司将在一年内损失一半市值,70% 的公司将在五年内停止交易.这更加凸显了数据的价值. 随着数据在体积上的增长,提高存储利用率尤为重要.从计算机的角度说,数据去重是一种特别的数据压缩技术,因为它可以消除重复数据的拷贝,所以这个技术可以提高存储利用率. 数据并不仅仅只有其创造者感兴趣

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

每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据: 需求:   1,每天4点备份mysql数据:   2,为节省空间,删除超过3个月的所有备份数据:   3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: #创建shell文件 vim backup_mysql.sh mysqldump -uroot -p123456 --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql find

阿里云服务器上定时备份MYSQL数据库配置

一 linux服务器定时备份 第一步新建*.sh文件. 新建在home目录下 autobackupmysql.sh #!/bin/sh # File: /home/mysql/backup.sh # Database info DB_NAME="test" DB_USER="root" DB_PASS="root"   # Others vars BIN_DIR="/alidata/server/mysql/bin" #这里是