Linux系统中如何验证某个配置文件是否发生改变

2023-12-28 12:09:00

./validFile.sh? /a.conf? /a.hash

其中第一个参数为要监测的文件,第二个参数为md5或者其他算法生产的文件hash

#!/bin/bash

# 检查是否提供了足够的参数
if [ "$#" -ne 2 ]; then
? ? echo "Usage: $0 <file_path> <hash_file>"
? ? exit 1
fi

# 通过位置参数获取文件路径和哈希文件路径
file_path="$1"
hash_file="$2"

# 如果哈希文件不存在,创建一个新的哈希文件
if [ ! -e "$hash_file" ]; then
? ? echo "Creating a new hash file..."
? ? md5sum "$file_path" > "$hash_file"
fi

# 计算当前文件的哈希值
current_hash=$(md5sum "$file_path" | awk '{print $1}')

# 从哈希文件中读取之前保存的哈希值
previous_hash=$(cat "$hash_file" | awk '{print $1}')

# 比较当前哈希值和之前的哈希值
if [ "$current_hash" == "$previous_hash" ]; then
? ? echo "File has not changed."
else
? ? echo "File has changed!"
? ? # 在这里可以添加其他需要执行的操作
? ? # 比如拷贝文件、发送通知等
? ? # ...
fi

文章来源:https://blog.csdn.net/u013933709/article/details/135263485
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。