zoukankan      html  css  js  c++  java
  • Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

     

     

     

    说明: 

    1、备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份

    2、上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份。

    3、FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目录(此目录需要预先在FTP服务器创建好)

    系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

    实现步骤:

    1、安装ftp命令

    apt-get install ftp   #安装ftp

    2、创建保存备份文件的目录:/home/osyunweibak

    cd /home  #进入目录

    mkdir osyunweibak  #创建目录

    3、创建备份脚本文件:/home/osyunweibak/osyunweibak.sh

    cd /home/osyunweibak

    touch osyunweibak.sh  #创建文件

    nano osyunweibak.sh  #编辑文件,添加以下内容

    #!/bin/sh

    BK_DR=/home/osyunweibak    #备份文件存放路径

    DB_DR=/home/osyunwei   #要备份的文件目录

    DAYS=7                    #DAYS=7代表删除7天前的备份,即只保留最近7天的备份

    LINUX_USER=root           #系统用户名

    date=` date +%Y%m%d `  #获取当前时间

    tar  zcvf  $BK_DR/osyunwei$date.tar.gz  $DB_DR   #备份

    chown -R $LINUX_USER:$LINUX_USER $BK_DR  #更改备份数据库文件的所有者

    find $BK_DR -name "osyunwei*" -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 osyunwei 123456  #用户名、密码

    binary  #设置二进制传输

    cd osyunweibak  #进入ftp目录

    lcd /home/osyunweibak  #列出本地目录

    prompt

    mput osyunwei$date.tar.gz   osyunwei$date.tar.gz   #上传目录中的文件

    mdelete osyunwei$deldate.tar.gz  osyunwei$deldate.tar.gz  #删除ftp空间7天前的备份

    close

    bye !

    ctrl+o   #保存配置

    ctrl+x   #退出

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

    系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

    chmod +x /home/osyunweibak/osyunweibak.sh  #添加文件执行权限

    5、修改/etc/crontab

    nano /etc/crontab   #编辑文件,在下面添加以下内容

    5 2 * * * root /home/osyunweibak/osyunweibak.sh  #表示每天凌晨2点5分执行备份

    6、重新启动crond使设置生效

    service cron stop  #停止

    service cron start #启动

    /etc/init.d/cron restart #重启

    chkconfig cron on #设为开机启动  先要安装chkconfig(apt-get install chkconfig)

    在/home/osyunweibak目录下面可以看到类似osyunwei20120701.tar.gz这样的压缩文件

    如果需要恢复文件的时候,只需要把这个文件解压即可

    解压缩命令tar -zxvf  osyunwei20120701.tar.gz

    至此,Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本完成。

  • 相关阅读:
    java陷阱一箩筐面试
    应用MVC设计模式解决J2ME应用程序导航问题 mingjava
    我怎么了
    运营商掘宝手机游戏 无限“钱途”引人竞折腰
    网络工程师考试大纲
    java 正则
    java集合使用——LinkedList
    java集合使用——HashMap
    java集合使用——HashSet
    JAVA集合使用——基本概念
  • 原文地址:https://www.cnblogs.com/lcword/p/5634296.html
Copyright © 2011-2022 走看看