如何实现配置文件过期时间?

如何实现配置文件过期时间?

我有一个 Debian 服务器,它使用多个配置文件(与 apache2 类似的方式)运行一个服务,我需要为其添加到期日期。具有到期日期的配置文件以包含该日期的注释开头:

#dd.mm.yyyy

问题是并非所有文件都需要有到期日期。这些没有这个评论。

我需要编写一个由 cron 定期运行的 bash 脚本,该脚本将解析每个配置文件中的第一行,如果它过期,它将在此文件中执行一个操作(例如移动到另一个文件夹),然后重新加载或重新启动有问题的服务。没有过期日期注释的文件必须被忽略(不需要对这些文件执行任何操作)。

如何可靠地验证文件是否过期?

答案1

有趣的问题。

下面的代码是这样写的松散地来解决这个问题。

松散地,因为以下代码假设文件中包含“空间”。还假设每个 .conf 脚本的第一行的时间戳为“#YYYYMMDD”

请随意根据需要修改它。

#!/bin/bash

for i in `find /etc -name *.conf`
do
    Current_date=$(date +"%Y%m%d")
    date_to_compare=$(head -n1 $i | sed 's/^#//g')

    if [ $Current_date -ge $date_to_compare ];  then
          echo "Move the file to new directory"
          echo "Start the relevant service"
    fi
done

相关内容