• shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上


    shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上

    naonao_127关注2人评论19401人阅读2012-06-08 11:26:16

            生产环境下脚本自动备份脚本是企业中重要工具。备份数据和日志等文件是公司的重要资产,所以有句话叫“备份是救命的稻草”(——出自抚琴煮酒《构建高可用Linux服务器》一书)。

            此脚本的作用是将制定目录下的日志文件备份,只备份当天和一天前的日志(日志命名格式精确到小时),并以当天的年月日为格式进行压缩,然后传送到指定ftp服务器。

    实例# ll /home/lislog/

    -rw-r--r-- 1 itadmin dba    8079474 06-07 00:59 lis42.log.2012-06-07-00
    -rw-r--r-- 1 itadmin dba   50354570 06-07 01:59 lis42.log.2012-06-07-01
    -rw-r--r-- 1 itadmin dba   12084741 06-07 02:59 lis42.log.2012-06-07-02

    ……
    -rw-r--r-- 1 itadmin dba   14110627 06-08 07:59 lis42.log.2012-06-08-07
    -rw-r--r-- 1 itadmin dba  112698103 06-08 08:59 lis42.log.2012-06-08-08
    -rw-r--r-- 1 itadmin dba  372195176 06-08 09:59 lis42.log.2012-06-08-09

    将该路径下当天及一天前文件进行压缩,以当天日期命名后传送到ftp服务器上。

    脚本内容backuplislog.sh:

    1. #!/bin/bash  
    2. FTPHOST="1.1.1.7" 
    3. USERNAME="lislog" 
    4. PASSWORD="lislog" 
    5. #取前一天年月日  
    6. y=`date --date='1 days ago' "+%Y"`   
    7. m=`date --date='1 days ago' "+%m"`   
    8. d=`date --date='1 days ago' "+%d"`     
    9. #取当天年月日  
    10. yt=`date "+%Y"`  
    11. mt=`date "+%m"`  
    12. dt=`date "+%d"`  
    13. #以当天日期为压缩文件名  
    14. y1=`date "+%Y"`  
    15. m1=`date "+%m"`  
    16. d1=`date "+%d"`    
    17. #文件名信息  
    18. SRCFILE="lis42.log.$y-$m-$d*   lis42.log.$yt-$mt-$dt*   lis42.log" 
    19. DESFILE="lis42_$y1-$m1-$d1.zip" 
    20. #需要备份文件的目录  
    21. FILEPATH="/home/lislog" 
    22. # FTP Server备份目录  
    23. # BACKUPDIR="lislog" 
    24. #压缩处理  
    25. cd  $FILEPATH  
    26. zip $DESFILE  $SRCFILE  
    27. #登入FTP Server并传送档案  
    28. ftp -v -n $FTPHOST << END 
    29. user $USERNAME $PASSWORD 
    30. binary 
    31. put  $DESFILE  
    32. bye  
    33. END 
    34. #删除临时压缩文件  
    35. cd  $FILEPATH  
    36. rm -f $DESFILE  
    37. #end 

    最后扔到cron里就ok了,然后用的时候去拿就可以了

    # crontab -l
    30 6 * * * /home/itadmin/backuplislog.sh

    结果查看:

    #ll  /home/lislog/

    -rw-r--r-- 1 itadmin dba 240100295 06-08 06:31 lis42_2012-06-08.zip

    经测试追踪发现,已经稳定执行。

  • 相关阅读:
    网页内容自动换行
    问题:Sql Server登录不进去的问题
    Truncate的用法
    SQL当前日期获取技巧
    .NET导出Excel遇到的80070005错误的解决
    养眼方式
    在页面里显示出PPT的效果
    问题(待解决):运行NCover产生的问题
    用CSS控制输入框输入的字母自动转入都是大写字母
    问题:Default引起的问题
  • 原文地址:https://www.cnblogs.com/qingbai/p/11933923.html
Copyright © 2020-2023  润新知