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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!