ToB企服应用市场:ToB评测及商务社交产业平台
标题:
bash监控指定目次下的文件变更并执行相应动作
[打印本页]
作者:
商道如狼道
时间:
2025-1-17 19:18
标题:
bash监控指定目次下的文件变更并执行相应动作
#!/bin/bash
dir_to_monitor="/home/sub_dir
prev_files=$(ls -A $dir_to_monitor)
#echo "prev_files: $prev_files"
prev_files_file=$(mktemp)
ls -A $dir_to_monitor > $prev_files_file
while true; do
current_files=$(ls -A $dir_to_monitor)
#echo "current_files: $current_files"
current_files_file=$(mktemp)
ls -A $dir_to_monitor > $current_files_file
added_files=$(comm -13 $prev_files_file $current_files_file)
if [ -n "$added_files" ]; then
echo "新增文件: $added_files"
find /${dir_to_monitor}/*.sh -type f -exec sed -i '/network restart/a\route -n' {} \;
find /${dir_to_monitor}/.sh -type f -exec sed -i '1i\network start' {} \;
fi
# if [ -n "$removed_files" ]; then
# echo "删除文件: $removed_files"
# fi
# 删除之前的临时文件
rm $prev_files_file
# 将当前文件列表临时文件重命名为上一轮的文件列表临时文件,用于下一轮对比
mv $current_files_file $prev_files_file
sleep 1
done
复制代码
在含有特定内容的某行后添加新行
find /${dir_to_monitor}/*.sh -type f -exec sed -i '/network restart/a\route -n' {} \;
在每个文件开头添加新行
find /${dir_to_monitor}/*.sh -type f -exec sed -i '1i\network start' {} \;
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4