超过一定时间的文件的Linux shell脚本

超过一定时间的文件的Linux shell脚本,shell,Shell,我有一个MySQL数据库的备份,备份文件的名称中有时间和日期,如下所示: daily_amavisd_2016-10-01_05h28m_Saturday.sql.gz daily_amavisd_2016-10-02_05h28m_Sunday.sql.gz daily_amavisd_2016-10-03_05h28m_Monday.sql.gz 我需要一个脚本来检查/backup/amavisd/daily文件夹中最旧的文件是否不超过一周。如果超过一周,它应该给我状态备份失败,如果不

我有一个MySQL数据库的备份,备份文件的名称中有时间和日期,如下所示:

daily_amavisd_2016-10-01_05h28m_Saturday.sql.gz 
daily_amavisd_2016-10-02_05h28m_Sunday.sql.gz 
daily_amavisd_2016-10-03_05h28m_Monday.sql.gz
我需要一个脚本来检查/backup/amavisd/daily文件夹中最旧的文件是否不超过一周。如果超过一周,它应该给我状态备份失败,如果不超过一周,它应该给我状态备份确定


有人能帮我使用shell脚本吗?

如果您想打印文件名和状态,这可以帮助您

#!/bin/bash

find /backup/amavisd/daily/ -name '*.gz' -exec bash -c '
file_date=$(echo $1|cut -f 3 -d '_');
start_date=$(date +"%Y-%m-%d" -d "-7 days");
    if [[ "$file_date" > "$start_date" ]]; then
        echo "$1: backup OK"
    else
        echo "$1: backup failed"
    fi' -- {} \;
Eg


非常感谢。但我只需要在最后1个状态OK或NotOK,因为我将在其他软件中使用该脚本。如果一个文件超过1周,则状态为NOT OK。
user@host:/tmp/test$ ./test.sh
backup/amavisd/daily/daily_amavisd_2016-10-01_05h28m_Saturday.sql.gz: backup OK
backup/amavisd/daily/daily_amavisd_2016-10-03_05h28m_Monday.sql.gz: backup OK
backup/amavisd/daily/daily_amavisd_2016-10-02_05h28m_Sunday.sql.gz: backup OK
backup/amavisd/daily/daily_amavisd_2016-10-07_05h28m_Monday.sql.gz: backup OK
backup/amavisd/daily/daily_amavisd_2016-09-07_05h28m_Monday.sql.gz: backup failed