精华内容
下载资源
问答
  • 批处理实现自动删除过期文件定期操作的简单命令
  • Shell实现定期删除HDFS下的过期文件

    千次阅读 2018-07-12 15:29:57
    代码思路:获取文件夹下的文件最后改动日期,与当前时间戳对比,删除不满足条件的所有文件。 #!/bin/bash source ~/.bashrc removeOutDate(){ hadoop fs -ls afs://xxxxxxxxxxxx > temp.txt today_...

    代码思路:获取文件夹下的文件最后改动日期,与当前时间戳对比,删除不满足条件的所有文件。

    #!/bin/bash
    source ~/.bashrc
    
    
    
    removeOutDate(){
    hadoop fs -ls afs://xxxxxxxxxxxx > temp.txt
    today_timestamp=$(date -d "$(date +"%Y-%m-%d %H:%M")" +%s) 
    cat temp.txt | while read quanxian temp user group size day hour filepath
    do
        file_time="$day $hour"
        file_timestamp=$(date -d "$file_time" +%s)
    #测试时间转换,原始为  $((3*3600*24))   换成231min前
        if [ $(($today_timestamp-$current_file_timestamp)) -ge $((60*231)) ];then
            echo "$(date +'%Y-%m-%d %H:%M:%S') $filepath"
            hadoop fs -rm -r $filepath > /dev/null 2>&1
        fi
    done
    
    }
    
    execute(){
    echo -e "\n\n"
    echo "$(date +'%Y-%m-%d %H:%M:%S') start to remove outdate files in hdfs/afs"
    
    removeOutDate 
    
    echo "$(date +'%Y-%m-%d %H:%M:%S') remove outdate files in hdfs/afs finished"
    echo -e "\n\n"
    
    rm temp.txt
    echo "temp.txt is cleaned!"
    }
    
    #开始执行
    execute
    
    展开全文
  • Nginx 自动定期删除日志实现方法

    千次阅读 2014-10-22 17:06:19
    Nginx 自动定期删除日志实现方法 来源: 时间:2013-09-05 20:19:21 阅读数:4499 分享到:1 [导读] 系统日志是一个很重要的东西但同时如果我们不定时清除空间就会给日志占完了,下面我来介绍定期删除日志...

    Nginx 自动定期删除日志实现方法

    来源:   时间:2013-09-05 20:19:21   阅读数:4499

    分享到: 1

    [导读] 系统日志是一个很重要的东西但同时如果我们不定时清除空间就会给日志占完了,下面我来介绍定期删除日志实现方法,各位同学可参考。Nginx的日志文件累积的太多,最后充满了整个磁盘空间,所以昨天做了一个可以定  

    系统日志是一个很重要的东西但同时如果我们不定时清除空间就会给日志占完了,下面我来介绍定期删除日志实现方法,各位同学可参考。

    Nginx的日志文件累积的太多,最后充满了整个磁盘空间,所以昨天做了一个可以定期自动删除的脚本。

    代码如下复制代码

    #!/bin/bash
    find /usr/local/nginx/logs/ -mtime +15 -type f -name *.log | xargs rm -f


    上述脚本是将nginxlogs下面的15天之前的日志文件删除,可以参考上面的脚本删除其他程序(如PHP、Tomcat)的日志文件。不过使用脚本的时候需要将Nginx的日志文件进行自动分割,否则会删除正在写入的日志文件了,Nginx日志分割脚本可以见 Linux下源码方式安装Nginx和PHP(FastCGI) 或者 CentOS系统初始安装MySQL、PHP和Nginx的脚本。

    将脚本保存并使用chmod +x 命令指定可执行权限,最好还需要加入任务列表中(每天凌晨一点执行):

    代码如下复制代码
    [root@localhost ~]# crontab -e
    00 01 * * * /bin/bash /root/shell/autodellogs.sh
    [root@localhost ~]# service crond restart
    copy from :
    http://www.php100.com/html/program/nginx/2013/0905/5538.html

    http://www.php100.com/html/program/nginx/2013/0905/5538.html

    展开全文
  • 最近由于业务要求,需要用C语言实现编写一个将传至本地的数据存储成txt文件至特定文件夹并且为了防止满储要求隔一段时间删除旧的文件的功能。 对于该业务的第二个要求,刚开始打算使用遍历文件夹找到所有文件再用...

    1.前言

    1.1声明

    文章中的文字可能存在语法错语以及标点错误,请谅解;

    如果在文章中发现代码错误或其它问题请告知,感谢!

    2.功能实现

    最近由于业务要求,需要用C语言实现编写一个将传至本地的数据存储成txt文件至特定文件夹并且为了防止满储要求隔一段时间删除旧的文件的功能。
    对于该业务的第二个要求,刚开始打算使用遍历文件夹找到所有文件再用stat函数得出该文件的 st_atime时间,时间超过一定值之后便删除该文件,后来想到了使用find /目录 -exec 指令 {} \ 来实现,这种方法更简便,验证也好用。下面给出该项目旧文件删除模块的代码:

    旧文件删除模块:

    int Record_DeleteLogFiles()
    {
        char cmd[128] = {0};
    
        sprintf(cmd, "find %s/* -mtime +3 -exec rm -rf {} \\;", RecordFilePath);    //删除上一次修改时间超过3天的文件
    
        printf("Record: %s.\n", cmd);
    
        system(cmd);
    
        return 0;
    }

    注意find %s/* -mtime +3 -exec rm -rf {} \\ 最后这两个 “ \ \ ”。在linux 指令中本来应该是一个“\”,但是实际上在程序只写上一个“\”后编译会出现“ warning: unknown escape sequence ‘\;’ ”,在网上搜了一下,说是一个”\”代表转译,要两个“\”才能够正确表达反斜杠这个意思。

    以上。
    参考文档:
    https://zhidao.baidu.com/question/458481710.html

    展开全文
  • shell脚本定期删除日志文件

    千次阅读 2019-06-19 16:21:34
    假设某系统按天记录日志文件,即每天一个日志文件。随着系统的运行,日志文件越来越多。 app.log app.log.2019-06-18 app.log.2019-06-17 app.log.2019-06-16 app.log.2019-06-15 app.log.2019-06-14 app.log.2019...

    假设某系统按天记录日志文件,即每天一个日志文件。随着系统的运行,日志文件越来越多。

    app.log
    app.log.2019-06-18
    app.log.2019-06-17
    app.log.2019-06-16
    app.log.2019-06-15
    app.log.2019-06-14
    app.log.2019-06-13
    app.log.2019-06-12
    app.log.2019-06-11
    app.log.2019-06-10
    ...

    如何定期清除过期的日志呢?比如,只需要保留最近7天的日志备份?

     

    对于linux系统,实现起来很方便:一个删除脚本 + crontab就可实现这个目标

    1. 创建自动清理日志的sheel脚本(假定log日志在目录/var/app下),autoCleanLog.sh

    #!/bin/bash
    
    searchPath=/var/app
    cd ${searchPath}
    
    declare -i total=`ls app.log.* | wc -l`
    declare -i nums=$total-7
    
    if [ "${nums}" -ge 1 ];then
        rm -rf `ls -tr app.log.* | head -${nums}`
    fi


    2. 赋予脚本可执行权限

    chmod +x autoCleanLog.sh

    3.采用crontab创建定期任务

    每天凌晨1点执行(假定清除脚本在目录/var/app下),编辑crontab,增加如下行:

    00 01 * * * /var/app/autoCleanLog.sh

    让改动的crontab立即生效

    sudo /etc/init.d/cron restart

    这样就大功告成,此脚本每天凌晨就会启动一次,自动删除7天前备份的log文件。
     

    展开全文
  • 实际项目中经常遇到需要将程序产生的“垃圾文件定期进行删除,避免占用储存空间。诸如程序输出的日志文件、缩略图、缓存影片数据等。 2 情景 这里假设一种情景:某大型软件在实际生产过程中,会产生日志文件到...
  • 系统日志是一个很重要的东西但同时如果我们不定时清除空间就会给日志占完了,下面我来介绍定期删除日志实现方法,各位同学可参考。 Nginx的日志文件累积的太多,最后充满了整个磁盘空间,所以昨天做了一个可以定期...
  • 信息中说的很清楚,需要向黑客支付一定数量的比特币来找回数据,先不说钱的问题,就算支付了比特币,能不能找回数据还是另一回事,有可能黑客只是粗暴地将数据删除了。 这是我第一次遇见黑客,在平常学习中,我的...
  • shell脚本:定期删除日志文件

    万次阅读 2015-10-30 18:13:14
    下面写了个脚本,实现删除上一个月的日志。 1.代码#!/bin/bashyy=`date +%Y` #获取年 mm=`date +%m` #获取月,如果是9月,得到的是09;如果是10月得到的是10 #mm=1 #echo ${mm} if [ ${mm} -eq 1 ] #如果是1月份,...
  • log4net,可以根据配置的时间长度,实现了自动删除过期的日志文件,欢迎大家使用或者分享更科学的方法。
  • C#下txt日志记录文件,自动周期循环定期删除,能修改路径,分文件夹存储不同的日志文件
  • .net定期删除文件
  • 定期自动重命名文件并上传到ftp然后删除
  • 因为公司的文件服务器上存有所需的项目war包,一段时间以后,大量不用的工程文件占用磁盘空间,需要定期删除无用的文件。这些文件归属不同的项目目录下,创建的时间各不相同。某些陈旧项目已经数年没有更新。因此,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,677
精华内容 33,470
关键字:

定期删除文件实现