From be273b1a11752a0829d58ea6607f10b68ffbf4f2 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Wed, 11 Jan 2023 13:44:47 +0100 Subject: [PATCH] Umzug von flashsd --- backupsd | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++ cmpfiles.sh | 21 ++++++++++++ rmoldest.sh | 13 ++++++++ 3 files changed, 128 insertions(+) create mode 100755 backupsd create mode 100755 cmpfiles.sh create mode 100755 rmoldest.sh diff --git a/backupsd b/backupsd new file mode 100755 index 0000000..0c3d5b0 --- /dev/null +++ b/backupsd @@ -0,0 +1,94 @@ +#! /bin/bash + +VERSION="1.00" +CMD_COMPRESS='pbzip2' +verbose=false +testmode=false +bzip2=false + +function isolate_checksum() { +checksum=($(echo ${1} | tr " " "\n"[0])) + +#echo "checksum=${checksum}" +echo "${checksum}" +} + +function start_backup { +echo "starting Backup" +sudo dd if=${DEVICE} bs=8M|pv| dd of=${FILE} bs=8M + +echo "verifying..." + +echo "checksum ${DEVICE}" +sha512src=$(sudo sha512sum ${DEVICE}) +sha512src=$(isolate_checksum "${sha512src}") +echo "checksum ${FILE}" +sha512dest=$(sha512sum ${FILE}) +sha512dest=$(isolate_checksum "${sha512dest}") + +echo "sha512src= ${sha512src}" +echo "sha512dest= ${sha512dest}" + +if [ "${sha512src}" = "${sha512dest}" ]; then + echo "compressing image with ${CMD_COMPRESS}" + ${CMD_COMPRESS} ${FILE} + exit 0 +else + echo "checksum verify failed, exiting" + exit 1 +fi + +} + +numshift=0 +while getopts ":v:h:z" opt; do + case ${opt} in + h) + echo "- help" + printhelp=true + numshift=$(($numshift +1)) + ;; + v) + echo "- verbose" + verbose=true + numshift=$(($numshift +1)) + ;; + z) + echo "- using bzip2" + bzip2=true + numshift=$(($numshift +1)) + ;; + ?) + echo "unbekannt" + numshift=$(($numshift +1)) + ;; + esac +done +numshift=$(($numshift -1)) +echo "shifting by ${numshift}" +if [[ ${numshift} -gt 0 ]] ; then + shift ${numshift} + shift +fi + +echo "1=${1} 2=${2}" +DEVICE=${1} +FILE=${2} + +#if [[ ${bzip2} -eq true ]] ; then +#if [[ echo "${bzip2}" |grep "true" ]] ; then +# echo "switching to bzip2 compression" +# CMD_COMPRESS=bzip2 +#fi + +echo "verbose=${verbose}" +echo "testmode=${testmode}" +echo "bzip2=${bzip2}" +echo "CMD_COMPRESS=${CMD_COMPRESS}" +echo "DEVICE=${DEVICE}" +echo "FILE=${FILE}" + +#exit 0 + +echo "SD-Card Backup ${VERSION}" +start_backup diff --git a/cmpfiles.sh b/cmpfiles.sh new file mode 100755 index 0000000..070c6af --- /dev/null +++ b/cmpfiles.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + + +function isolate_checksum() { +checksum=($(echo ${1} | tr " " "\n"[0])) + +#echo "checksum=${checksum}" +echo "${checksum}" +} + +echo "checksum ${1}" +sha512src=$(sudo sha512sum ${1}) +sha512src=$(isolate_checksum "${sha512src}") +echo "checksum ${2}" +sha512dest=$(sha512sum ${2}) +sha512dest=$(isolate_checksum "${sha512dest}") + +echo "sha512src= ${sha512src}" +echo "sha512dest= ${sha512dest}" + + diff --git a/rmoldest.sh b/rmoldest.sh new file mode 100755 index 0000000..fb7483c --- /dev/null +++ b/rmoldest.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + + + +files_to_remove=$(find . -maxdepth 1 -type f|cut -c3-|xargs ls -t|tail -3) +echo "eldest files ${files_toremove}" +for backupfile in ${files_to_remove}; do + echo "deleting backup ${backupfile}" +done + + + +