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、修改文件属性,使其可执行

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

  • 相关阅读:
    Mac php使用gd库出错 Call to undefined function imagettftext()
    centos 使用 locate
    Mac HomeBrew 安装 mysql
    zsh 命令提示符 PROMPT
    新的开始
    Java 面试题分析
    Java NIO Show All Files
    正确使用 Volatile 变量
    面试题整理 2017
    有10阶梯, 每次走1,2 or 3 阶,有多少种方式???
  • 原文地址:https://www.cnblogs.com/surplus/p/14238815.html
Copyright © 2011-2022 走看看