From 6a23baac1f805e5c8634609f23603d9ddb34b77c Mon Sep 17 00:00:00 2001 From: Julian Rother <julianr@fsmpi.rwth-aachen.de> Date: Thu, 4 Oct 2018 22:50:31 +0200 Subject: [PATCH] Upload check_dd_total --- Check/check_dd_total | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Check/check_dd_total diff --git a/Check/check_dd_total b/Check/check_dd_total new file mode 100644 index 0000000..569eca0 --- /dev/null +++ b/Check/check_dd_total @@ -0,0 +1,61 @@ +#!/bin/bash + +usage="$(basename "$0") [-v] [-q] src des -- verifies per sha256sum, that src was correctly written to des +$(basename "$0") -h + +where: + -v verbose: prints the sha256sums + -q quite: suppresses the output of the result, + the return-Code remains as reponse + -h prints this help message" + +quite=false; +verbose=false; +printHelp=false; +for opt in "$@" +do + case $opt in + -v) verbose=true ; shift 1 ;; + -q) quite=true ; shift 1 ;; + -h) printHelp=true ; shift 1 ;; + -?) printHelp=true ; shift 1 ;; + esac +done + +if [ "$printHelp" = true ] || [ $# -ne 2 ] +then + echo "$usage"; + exit -1; +fi + +src=$1; +des=$2; +lengthSrc=$(($(stat -c '%s' $src) / 4096)); # length of the source (in 4096kB) +if [ "$verbose" = true ] +then + echo "length of the source (in 4096kB): $lengthSrc" +fi +sha256sumSrc=$(dd if=$src bs=4096 count=$lengthSrc status=none | sha256sum) +if [ "$verbose" = true ] +then + echo "sha256sum of the source: $sha256sumSrc" +fi +sha256sumDes=$(dd if=$des bs=4096 count=$lengthSrc status=none | sha256sum) +if [ "$verbose" = true ] +then + echo "sha256sum of the destination: $sha256sumDes" +fi +if [ "$sha256sumSrc" == "$sha256sumDes" ] +then + if [ "$quite" = false ] + then + echo "OK!"; + fi + exit 0; +else + if [ "$quite" = false ] + then + echo "FAILED!"; + fi + exit 1; +fi -- GitLab