`
our.ruby
  • 浏览: 15193 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

强调自定义的自动删除旧文档的脚本

阅读更多
脚本名:clearup.ksh
配置文件名:clearuptab



#!/bin/ksh
#clearup.ksh
THISDAY=$(date +%Y%m%d%H%M%S)
NFS_MOUNTDIR='/home/other'
CLEARUP_HOME=/backup/diskclearup
CLEARUP_TABLST=$CLEARUP_HOME/clearuptab
CLEARUP_DETAIL=$CLEARUP_HOME/clearup.lst
CLEARUP_LOG=$CLEARUP_HOME/clearup.log

echo "" >> $CLEARUP_LOG
echo "+++ Diskclearup: disk clearup start." >> $CLEARUP_LOG

touch $CLEARUP_DETAIL
cat $CLEARUP_TABLST | while read LINE
do
  case $LINE in
    \#*) # skip over comment-line in oratab
         ;;
    *)
         ITEM_SID=`echo $LINE | awk -F: '{print $1}'`
         ITEM_DIR=`echo $LINE | awk -F: '{print $2}'`
         ITEM_TEMPLATE=`echo $LINE | awk -F: '{print $3}'`
         RESERVER_DAYS=`echo $LINE | awk -F: '{print $4}'`
         ITEM_FLAG=`echo $LINE | awk -F: '{print $6}'`

         CLEARUP_DESTFILE=$NFS_MOUNTDIR/${ITEM_SID}_clearup_$THISDAY.tar.gz

         # Proceed only if third field is 'Y'
         if [ "`echo $LINE | awk -F: '{print $5}'`" = "N" ]
         then
             echo "$THISDAY INFO: No start entry for ITEM $ITEM_SID in $CLEARUP_TABLST ." >>$CLEARUP_LOG
         elif [ "`echo $LINE | awk -F: '{print $5}'`" = "Y" ]
         then
             if (( `expr $RESERVER_DAYS` < 1 ))
             then
                echo "$THISDAY INFO: Error reserver days entry for ITEM $ITEM_SID in $CLEARUP_TABLST ." >>$CLEARUP_LOG
             elif [ "`echo $ITEM_FLAG`" != "C" ] && [ "`echo $ITEM_FLAG`" != "D" ]
             then
                echo "$THISDAY INFO: Error FLAG for ITEM $ITEM_SID in $CLEARUP_TABLST" >>$CLEARUP_LOG
             else
                 #
                 find $ITEM_DIR -mtime +$RESERVER_DAYS -name "$ITEM_TEMPLATE" -type f -print >$CLEARUP_DETAIL 2>>$CLEARUP_LOG
                 if [ "$?" -ne 0 ]
                 then
                     echo "$THISDAY INFO: Error execute FIND command for ITEM $ITEM_SID in $CLEARUP_TABLST" >>$CLEARUP_LOG
                     continue
                 fi
                 #
                 #--Closed by HuangYuesong....
                 #--tar -zcvf ${CLEARUP_DESTFILE} --files-from $CLEARUP_DETAIL 2>&1 >>$CLEARUP_LOG
                 #--if [ "$?" -ne 0 ]
                 #--then
                 #--    echo "$THISDAY INFO: Error execute TAR command for ITEM $ITEM_SID in $CLEARUP_TABLST"
                 #--    continue
                 #--fi
                 #
                 #
                 while read SUBLINE
                 do
                     #
                     if [ "`echo $ITEM_FLAG`" = "C" ]
                     then
                 > $SUBLINE
                     else
                         rm $SUBLINE
                         if [ "$?" -ne 0 ]
                         then
                            echo "$THISDAY INFO: Fail RM $SUBLINE for ITEM $ITEM_SID in $CLEARUP_TABLST." >>$CLEARUP_LOG
                         else
                            echo "$THISDAY INFO: Succ RM $SUBLINE for ITEM $ITEM_SID in $CLEARUP_TABLST." >>$CLEARUP_LOG
                         fi
                     fi

                 done < $CLEARUP_DETAIL
                 #
                 #
             fi
         else
             echo "$TIMESTAMP INFO: Error define entry for ITEM $ITEM_SID in $CLEARUP_TABLST ." >>$CLEARUP_LOG
         fi
         ;;
    esac
done
echo "+++ Diskclearup: disk clearup end." >> $CLEARUP_LOG

配置文件示例:
#
# This file is used by clearup.ksh .
#
# item_sid : item_dir  : file_regular : reserve_days : auto_start(Y/N) : delete&Create / Delete
vmarchlog:/oracle/oradata/vmdb/archive:*dbf:7:Y:D
gjdb-dmp:/backup/gjdb:*.dmp:2:Y:D
gjdb-log:/backup/gjdb:*.log:2:Y:D
gjdb-par:/backup/gjdb:*.par:2:Y:D
vmdb-dmp:/backup/vmdb/db:*.dmp:2:Y:D
vmdb-log:/backup/vmdb/db:*.log:2:Y:D
vmdb-par:/backup/vmdb/db:*.par:2:Y:D
vmdbgpslog-dmp:/backup/vmdb/gpslog:*.dmp:4:Y:D
分享到:
评论

相关推荐

    SecureCRT脚本手册

    - **自动化触发机制**:解释如何设置脚本自动运行,比如定时任务或特定事件触发。 - **环境变量与配置**:讨论如何设置环境变量和其他配置来支持脚本的自动执行。 #### 五、连接远程机器 - **使用预配置会话连接*...

    CimplicityHMI脚本编程手册(官方英文)

    **Cimplicity HMI** 是一款由 **GE Fanuc Automation** 开发的监控与控制系统产品,广泛应用于工业自动化领域。本手册主要介绍了 **Cimplicity HMI Plant Edition** 中的 **Basic Control Engine** 的 **Program ...

    软件自动安装器,可自由编辑,自动安装软件,可用于系统封装

    描述中的“可自由编辑”意味着用户可以对自动安装的过程进行详细的配置,包括但不限于添加、删除或修改安装脚本,以适应不同的软件和环境需求。自动安装器可能提供图形化的用户界面,使得非技术用户也能轻松操作,...

    自动查找并删除VC生成的临时文件

    `DelTemp.htm`可能是一个关于如何删除临时文件的指导文档,而`DelTempSrc.rar`可能是包含源代码或工具的压缩文件,供用户自定义实现自动删除功能。在使用或参考这些资源时,应仔细阅读文档并理解其工作原理,以确保...

    shell.pdf shell脚本

    整个文档强调了文本处理工具在shell脚本中的重要性,并提供了具体的命令和选项,帮助读者掌握如何使用这些工具进行高效的数据处理和分析。通过这些工具的组合使用,可以完成复杂的文本处理任务,这对于系统管理和...

    twitterscripts:Twitter的用户脚本

    描述中的“推特脚本”是对标题的简单重申,再次强调这个项目是与Twitter相关的脚本。而“Twitter的用户脚本”进一步说明这些脚本是为普通Twitter用户设计的,旨在提升他们在Twitter上的使用体验,可能包括增加功能、...

    MSDN离线版C# 脚本手册 C# 指南.pdf

    ### MSDN离线版C#脚本手册C#指南知识点概览 #### 一、C#文档概述 - **入门**:介绍了C#语言的基本概念和发展背景。 - **简介**:详细阐述了C#语言的设计理念及其在软件开发中的地位。 #### 二、程序构建基块 - **...

    Django 2.0 官方中文文档

    Django 自动提供了创建、更新、查询和删除记录的方法。 3. **视图(Views)** 视图是处理用户请求并返回响应的部分。它们通常负责从数据库获取数据、处理这些数据,然后将结果传递给模板。Django 视图可以是函数或...

    InDesign_Scripting_Reference.pdf

    《InDesign脚本指南》是Adobe InDesign软件中一项重要的技术文档,主要针对希望通过编程自动化InDesign工作流程的用户。InDesign是一款专业排版软件,广泛用于出版、广告、网页设计等领域。脚本功能允许设计师和开发...

    ASP.NET办公自动化系统

    4. **工作流引擎**:办公自动化系统的流程管理功能可能依赖于工作流引擎,如Windows Workflow Foundation (WF) 或自定义实现。工作流定义了任务的流转规则,帮助自动化审批流程。 5. **文档管理**:系统应包含文档...

    dsofile.dll

    标签 "dsofile 文档摘要 dsofile.dll" 进一步强调了这个库与处理文档摘要信息的关联性。dsofile是这个功能的核心,而文档摘要则表示它是处理文件元数据的工具。dsofile.dll是实现这一功能的特定库文件。 在压缩包中...

    Python_Arch Linux安装指导模板等.zip

    - 这个子压缩包可能包含的是一个自定义的Arch Linux安装脚本或指南,通常用于自动化或简化Arch Linux的安装过程。 - `archinstall`是一个工具,用于创建自定义的Arch Linux安装脚本,帮助用户根据个人需求进行安装...

    微软Word_vba范例源代码

    ### 微软Word_VBA范例源代码...综上所述,《守柔(SHOUROU)Word编程代码集》包含了丰富的VBA编程实例和知识点,覆盖了从文档格式化到自动化操作等多个方面,对于提升Word文档的处理能力和自动化水平具有重要的参考价值。

    wps开发接口

    这使得开发者可以创建插件、自动化脚本或集成WPS功能到其他系统中,极大地提高了工作效率和定制化程度。 二、WPS文字接口 WPS文字接口主要针对的是其文字处理软件,例如创建、编辑、格式化文本、段落、页眉页脚、...

    roll20:Roll20的脚本和其他杂物

    7. **教程与脚本库**:除了实际的脚本代码,这个压缩包可能还包含了关于如何使用和编写Roll20脚本的教程或文档,这对于新手开发者来说是非常有价值的资源。 通过分析和学习这些脚本,玩家和开发者可以更好地掌握...

Global site tag (gtag.js) - Google Analytics