• 192.168.189.30配置


    crontab -l
    0 */1 * * * /usr/sbin/ntpdate time.tvmining.com && /sbin/hwclock -w >/dev/null 2>&1
    */1 * * * * /opt/script/clear_file.sh 7 >/dev/null 2>&1
    15,45 * * * * /opt/script/clear_path.sh 7 >/dev/null 2>&1
    01 04 * * * /opt/script/clear_m3u8.sh 7 >/dev/null 2>&1

    [root@localhost bin]# vi /etc/cron.d/synctime

    #!/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
    n=${1:-7}

    current='/opt/script'
    patharray='/opt/online01/preview /opt/online01/stream'
    year=`date +'%Y' -d "$n day ago"`
    month=`date +'%m' -d "$n day ago"`
    day=`date +'%d' -d "$n day ago"`
    currtime=`date +'%Y%m%d_%H%M' -d "$n day ago"`
    currlog=`date +'delete_%Y%m%d.log' -d "$n day ago"`

    for delfile in `ls $current/delete_*.log`; do
        if [ "$current/$currlog" != "$delfile" ]; then
            rm -f "$delfile"
        fi
    done

    if [ ! -e "$current/$currlog" ]; then
        for datapath in $patharray; do
            find $datapath -maxdepth 3 -type d -name $year >> "$current/$currlog"
        done
    fi


    cat "$current/$currlog" | while read -r line
    do
        if [ -d "$line/$month/$day" ]; then
            `rm -rf $line/$month/$day/*$currtime*` >/dev/null 2>&1
    #        echo "rm -rf $line/$month/$day/*$currtime*" >>"$current/test.log"
        fi
    done

    [root@localhost script]# cat  clear_path.sh
    #!/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
    n=${1:-7}

    current='/opt/script'
    patharray='/opt/online01/preview /opt/online01/stream'

    let "nn=$n+1"
    ymd=`date +'%Y/%m/%d' -d "$nn day ago"`

    for delpath in $patharray; do
        for rate in `ls $delpath`; do
            for channel in `ls  "$delpath/$rate"`; do
                if [ -d "$delpath/$rate/$channel/$ymd" ]; then
                    `rm -rf $delpath/$rate/$channel/$ymd` >/dev/null 2>&1
                fi
            done
        done
    done


    for datapath in $patharray; do
        for dd in `find $datapath -maxdepth 5 -mindepth 5 -type d -ctime +$n`; do
            `rm -rf $dd` >/dev/null 2>&1
            #echo "rm -rf $dd >/dev/null 2>&1"
        done

        for ((c=4; c>0; c--)); do
            for dp in `find $datapath -maxdepth $c -mindepth $c -type d`; do
                num=1
                num=`ls $dp | wc -l` >/dev/null 2>&1
                if [ $num -eq 0 ]; then
                    `rmdir $dp` >/dev/null 2>&1
                fi
            done
        done
    done

    [root@localhost script]# cat clear_m3u8.sh
    #!/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
    n=${1:-7}

    patharray='/opt/online01/m3u8'
    let "dt=$n+1"

    for datapath in $patharray; do
        for rate in `ls $datapath`; do

            for m3u8 in `find $datapath/$rate -type f -mtime +$dt`; do
                `rm -f $m3u8` >/dev/null 2>&1
            done

            if [ -d "$datapath/$rate" ]; then
                num=1
                num=`ls $datapath/$rate | wc -l` >/dev/null 2>&1
                if [ $num -eq 0 ]; then
                    `rmdir $datapath/$rate` >/dev/null 2>&1
                fi
            fi

        done
    done

  • 相关阅读:
    html基础知识
    Python yield 使用浅析
    XSS跨站攻击
    box-sizing的用法(笔记)
    编译原理中DFA最小化
    提醒自己!!!
    Eclipse下运行maven项目失败且Tomcat服务器也启动不了
    Descriptio Resource Path LocationType Archive for required library: 'D:/apache-maven/apache-maven-3.6.0/mavenrepository/org/springframework/spring-aspects/4.3.7.RELEASE/spring-aspects-4.3.7.RELEASE.
    Eclispe创建maven工程缺失web.xml报web.xml is missing and <failOnMissingWebXml> is set to true的错误
    ssm 出现 Method threw 'org.apache.ibatis.binding.BindingException' exception.Invalid bound statement (not found)……
  • 原文地址:https://www.cnblogs.com/lubing666666/p/4277362.html
Copyright © 2020-2023  润新知