#!/bin/env bash
#------------------------
#Author: ywt
#update: 2020-02-26
#------------------------
#加载function函数,下面会用到action函数
. /etc/init.d/functions
#dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
dir=/home/common/inkserver
#指定目录
array=($dir/battle/bin $dir/db/bin $dir/cache/bin $dir/online/bin $dir/login/bin $dir/world/bin $dir/switch/bin $dir/push/bin $dir/matching/bin $dir/switch/bin $dir/gmmanager/bin)
#获取数组所有元素个数
array_num=${#array[@]}
#遍历目录并读取目录文件的MD5值,写入指定文件中
function ergodic(){
for ((i=0;i<$array_num;i++))
do
filedir=${array[i]}
echo "Checklist $filedir"
find $filedir -type f -print|xargs md5sum | sed s#$dir/## >> $file
done
[ $? -eq 0 ] && action "Checklist output to file check.md5" /bin/true
}
#设置输出文件名
file=check.md5
#如果存在先删除,防止重复运行脚本时追加到记录文件
test -e $file && rm $file
#遍历所有目标文件
ergodic
参考以下文章:
https://blog.csdn.net/HoWaterSuper/article/details/94434725
https://blog.csdn.net/shangyexin/article/details/80968169
shell 读取指定目录下的相关文件的md5信息并写入到文件中
原文:https://www.cnblogs.com/ops-ywt/p/12370711.html