Shell 对整个文件夹中的文件进行MD5校验 [转]

时间:2021-05-01 12:57:44
  1. 查看本地文件的 MD5 命令:md5sum FileName
    查看home目录下所有文件的 MD5 码:
    cd ~
    find /home -type f -print0 | xargs -0 md5sum | sort >md5.txt
    查看当前目录下所有文件的 MD5 码:
    find ./ -type f -print0 | xargs -0 md5sum | sort >md5.txt
  2. 通过上述方法对 home 文件夹里数据生成一份 md5 校验文件
    这个 md5 文件就这可作为这个 home 文件夹的校验文件,校验一个文件夹数据是否和 home 目录相同的方法就是针对该文件夹通过同样的方法生成一份 md5 校验文件,然后比对校验文件是否相同,如果两个文件相同,这认为这两个比对的数据文件夹一致
  3. 当服务器数量增多,无法通过命令对服务器一台台做MD5校验
    下面的Shell脚本是脚本生成MD5文件。
    #!/bin/bash
    # author: Jerry.huang # Set environment variables
    LANG=""
    export LANG echo ""
    echo ""
    echo "please put check_file in the same directory?"
    echo ""
    read -p "are you put the check_file in the right position ? (Y/N): " select_yn
    echo ""
    echo "" if [ "$select_yn" == "Y" ] || [ "$select_yn" == "y" ]; then echo "start generate data.md5 ..."
    cd ./data
    find ./ -type f -print0 | xargs - md5sum | sort > ../data.md5
    echo "generate md5 value over" elif [ "$select_yn" == "N" ] || [ "$select_yn" == "n" ]; then
    echo "stop generate md5 value !"
    else
    echo "I don't know what your choice is !!!"
    fi

    md5sum Code