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脚本完成。

  • 相关阅读:
    034.Python的__str__,__repr__,__bool__ ,__add__和__len__魔术方法
    033.Python的__del__析构方法he__call__方法
    032.Python魔术方法__new__和单态模式
    python3使用tabulate漂亮的打印数据
    在Linux真正有效的调节鼠标速度!
    RouterOS上实现内网DNS劫持
    使用grease monkey强力清除搜索结果页的广告
    centos 6.5 apache下配置python cgi 并解决中文乱码
    python的缩进语法不是一种好的设计
    让npm默认使用taobao镜像源
  • 原文地址:https://www.cnblogs.com/lcword/p/5634296.html
Copyright © 2011-2022 走看看