Bash-скрипт для удаления файлов старше определенной даты

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 557]


    Предлагаем вашему вниманию небольшой bash-скрипт для удаления файлов (по маске) старше определенного количества дней.

    Bash-скрипт

    Так как "стандартного" решения этого вопроса не нашлось, мы написали небольшой bash-скрипт. Данный скрипт протестирован на чистке старых логов Tomcat на нескольких проектах.

    #!/bin/sh

    clean_file_mask=$1
    clean_older=$2

    if [ $# -ne 2 ];
    then
    echo "=================================================================================="
    echo "= Utility for clean old files such as Tomcat Logs ="
    echo "= This utility is delete all files (by mask) older n-days ="
    echo "= web: http://help-me-24.com ="
    echo "= ="
    echo "= Usage example: old_log_clean.sh \"/opt/apache-tomcat-8.0.32/logs/catalina*\" 2 ="
    echo "=================================================================================="
    exit 0
    fi

    delete_older=`date +%s -d "$2 day ago" `
    find $1 -maxdepth 0 -type f | while read curent_file;
    do

    unix_time_last_mod=$(stat -c %Y "$curent_file")
    if [ "$delete_older" -gt "$unix_time_last_mod" ];
    then
    rm -f "$curent_file"
    fi
    done

    Git-репозитарий проекта: https://github.com/help-me-project/old-files-cleaner


    Обсуждение статьи

    Ваш комментарий: