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

  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 -0 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
原文地址:https://www.cnblogs.com/Mrhuangrui/p/4618699.html