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

./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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值