实现自动清除日期目录shell脚本实例代码

实现自动清除日期目录shell脚本实例代码

很多时候备份通常会使用到基于日期来创建文件夹,对于这些日期文件夹下面又有很多子文件夹,对于这些日期文件整个移除,通过find结合rm或者delete显得有些力不从心。本文提供一个简单的小脚本,可以嵌入到其他脚本,也可直接调用,如下文供大家参考。

1、脚本内容

[root@SZDB ~]# more purge_datedir.sh
#!/bin/bash
# Author: Leshami
# Blog : http://blog.csdn.net/leshami 

RemoveDir=/log/hotbak/physical
dt=`date +%Y%m%d -d "3 day ago"` 

for subdir in `ls $RemoveDir`;
do
  if [ "${subdir}" \< "${dt}" ];
    then
    rm -rf $RemoveDir/$subdir >/dev/null
    echo "The directory $RemoveDir/$subdir has been removed."
  fi
done

2、演示

[root@SZDB ~]# ls /log/hotbak/physical
20141203 20141210 20141217 20141224 20141231 20150107 20150114 20150125 tmp.sh
20141207 20141214 20141221 20141228 20150104 20150111 20150121 20150128 

[root@SZDB ~]# ./purge_datedir.sh
The directory /log/hotbak/physical/20141203 has been removed.
The directory /log/hotbak/physical/20141207 has been removed.
The directory /log/hotbak/physical/20141210 has been removed.
The directory /log/hotbak/physical/20141214 has been removed.
The directory /log/hotbak/physical/20141217 has been removed.
The directory /log/hotbak/physical/20141221 has been removed.
The directory /log/hotbak/physical/20141224 has been removed.
The directory /log/hotbak/physical/20141228 has been removed.
The directory /log/hotbak/physical/20141231 has been removed.
The directory /log/hotbak/physical/20150104 has been removed.
The directory /log/hotbak/physical/20150107 has been removed.
The directory /log/hotbak/physical/20150111 has been removed.
The directory /log/hotbak/physical/20150114 has been removed.
The directory /log/hotbak/physical/20150121 has been removed. 

[root@SZDB ~]# ls /log/hotbak/physical
20150125 20150128

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 自动清除电脑垃圾及删除windows默认共享盘符的批处理bat

    by:zuifeng258Windows在默认情况下几个盘多是共享的,它们是隐藏的危险. 在dos下用命令"net share"可以查看... 不能截图,就只能打打字了 复制代码 代码如下: @echo off echo 正在自动删除admin$管理共享和ipc$管道共享, net share admin$ /del net share IPC$ /del net share C$ /del net share D$ /del net share E$ /del net share F

  • MSsql每天自动备份数据库并每天自动清除log的脚本

    1.每日自动备份 打开企业管理器,进入"管理"-"数据库维护计划",在右侧窗口点击右键,选择"新建维护计划",启动"数据库维护计划向导";点击"下一步"选择需要维护的数据库,维护特性数据库时,选择最后一个单选框并勾选需要维护的数据库名称;"下一步"选择更新数据优化信息."下一步"检查数据库完整性."下一步"指定数据库备份计划."下一步&q

  • mssql自动备份及自动清除日志文件服务器设置

    1.每日自动备份 强烈建议有条件的用户进行此操作! 1.打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server--SQL Server组--双击打开你的服务器 2.然后点上面菜单中的工具--选择数据库维护计划器 3.下一步选择要进行自动备份的数据--下一步更新数据优化信息,这里一般不用做选择--下一步检查数据完整性,也一般不选择 4.下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择每天备份后点确定 5.下一步指定备份的磁盘目录,选择指定目录,如您可以在D盘新

  • 实现自动清除日期目录shell脚本实例代码

    实现自动清除日期目录shell脚本实例代码 很多时候备份通常会使用到基于日期来创建文件夹,对于这些日期文件夹下面又有很多子文件夹,对于这些日期文件整个移除,通过find结合rm或者delete显得有些力不从心.本文提供一个简单的小脚本,可以嵌入到其他脚本,也可直接调用,如下文供大家参考. 1.脚本内容 [root@SZDB ~]# more purge_datedir.sh #!/bin/bash # Author: Leshami # Blog : http://blog.csdn.net/l

  • 备份shell脚本实例代码

    1.backup_run.sh 复制代码 代码如下: #!/bin/sh    # backup_run    # script to run the backups    # loads in a setting file for the user to change    SOURCE=/home/bob/backup.defaults    check_source()    {        # check_source        # can we load the file    

  • 非常实用的23个Shell脚本实例

    shell脚本是帮助程序员和系统管理员完成费时费力的枯燥工作的利器,是与计算机交互并管理文件和系统操作的有效方式.区区几行代码,就可以让计算机接近按照你的意图行事. 为大家整理了23个实例,通过23个实战经典脚本实例,展示了shell脚本编程的实用技术和常见工具用法.大家只需根据自己的需求,将文中这些常见任务和可移植自动化脚本推广应用到其他类似问题上,能解决那些三天两头碰上的麻烦事. #!/bin/bash ##################################### #检测两台服

  • 超详细的5个Shell脚本实例分享(值得收藏)

    概述 今天主要分享5个shell脚本实例,大家可以借鉴下里面的思路,看下有没另外一种实现方式. 1.定时清空文件内容,定时记录文件大小 #!/bin/bash ################################################################ #每小时执行一次脚本(任务计划),当时间为0点或12点时,将目标目录下的所有文件内 #容清空,但不删除文件,其他时间则只统计各个文件的打小,一个文件一行,输出到以时#间和日期命名的文件中,需要考虑目标目录下二级

  • 输出执行操作和打印日志的shell脚本实例

    cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date "+%Y-%m-%d %H:%M:%S"` ####显示打印日志的时间 USER=$(whoami) ####那个用户在操作 echo "${DATE} ${USER} execute $0 [INFO] $@" >>/v

  • python实现定时自动备份文件到其他主机的实例代码

    定时将源文件或目录使用WinRAR压缩并自动备份到本地或网络上的主机 1.确保WinRAR安装在默认路径或者把WinRAR.exe添加到环境变量中 2.在代码里的sources填写备份的文件或目录,target_dir填写备份目的目录 3.delete_source_file为备份完后是否删除源文件(不删除子文件夹) 4.备份成功/失败后生成备份日志 按照格式,填写源目的: sources = [r'E:\目录1', r'E:\目录2\b.txt'] #例:= [ r'E:\test\1234.

  • Node.js 文件夹目录结构创建实例代码

    第一次接触NodeJS的文件系统就被它的异步的响应给搞晕了,后来发现NodeJS判断文件夹是否存在和创建文件夹是还有同步方法的,但是还是想尝试使用异步的方法去实现. 使用的方法: fs.exists(path, callback); fs.mkdir(path, [mode], callback); 实现文件夹目录结构的创建代码实现如下: //创建文件夹 function mkdir(pos, dirArray,_callback){ var len = dirArray.length; con

  • POI对Excel自定义日期格式的读取(实例代码)

    用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel private List<String[]> rosolveFile(InputStream is, String suffix, int startRow) throws IOException, FileNotFoundException { Workbook xssfWorkbook = null; if ("xls".equals(suffix)) { xssfWorkbook = new H

  • Java编程实现计算两个日期的月份差实例代码

    本文实例主要实现计算两个日期的月份差,具体如下: package com.forezp.util; import org.joda.time.DateTime; import org.joda.time.Months; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; /** * 在JAVA中,如何计算两个日期的月份差?<br> * * * @author Adm

  • java复制文件的4种方式及拷贝文件到另一个目录下的实例代码

    尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式. 1. 使用FileStreams复制 这是最经典的方式将一个文件的内容复制到另一个文件中. 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B. 这是第一个方法的代码: private static void copyFileU

随机推荐