使用场景: 远程备份大文件,防止网络异常断开,文件备份不完整,使用md5校验其完整性。
1. 获取文件md5值
[root@kvm-123 gitlab]# md5sum 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar bb02bd6e4da8e612274a7d71687b8976 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar # 写文件 [root@kvm-123 gitlab]# md5sum 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar >git_backup.md5 [root@kvm-123 gitlab]# cat git_backup.md5 bb02bd6e4da8e612274a7d71687b8976 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar
2. tar包和md5文件scp到备份机
# md5文件scp到远程服务器 [root@kvm-123 gitlab]# scp git_backup.md5 root@10.17.14.188:/usr/local/src # 备份文件传输到一半时手动中断,模拟网络异常 [root@kvm-123 gitlab]# scp 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar root@10.17.14.188:/usr/local/src # md5文件和备份文件必须在同一目录 [root@dev01-188 src]# ls 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar git_backup.md5
3. 校验文件,md5发生了变化
[root@dev01-188 src]# md5sum 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar a95496aba61d6179da7ef80b7cef9d9d 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar [root@dev01-188 src]# cat git_backup.md5 bb02bd6e4da8e612274a7d71687b8976 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar [root@dev01-188 src]# md5sum -c git_backup.md5 1564248991_2019_07_29_11.11.0-ee_gitlab_backup.tar: 失败 md5sum: 警告:1 个校验和不匹配 [root@dev01-188 src]# echo $? 1