Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0541c5dc52 | ||
![]() |
21e3ee8d74 | ||
![]() |
d1d4d01eb6 | ||
![]() |
09e4e1c8fe | ||
![]() |
42d386c42d | ||
![]() |
ae357b49bb | ||
![]() |
bc029140fe |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
backup.img
|
45
backupsd
45
backupsd
@@ -2,8 +2,9 @@
|
||||
|
||||
BACKUP_REPO="/tank/Backup-Repo"
|
||||
TEMP_DIR="${HOME}/backup"
|
||||
VERSION="1.01"
|
||||
CMD_COMPRESS='pbzip2'
|
||||
VERSION="2.06"
|
||||
#CMD_COMPRESS='pbzip2'
|
||||
CMD_COMPRESS='zstd -T0 -5'
|
||||
verbose=false
|
||||
testmode=false
|
||||
bzip2=false
|
||||
@@ -37,32 +38,27 @@ tdate=$(date '+%y-%m-%d')
|
||||
|
||||
function start_backup {
|
||||
echo "starting Backup"
|
||||
sudo dd if=${DEVICE} bs=8M|pv| dd of=${FILE} bs=8M
|
||||
sudo dd if=${DEVICE} status=progress bs=8M | tee ${FILE} | sha256sum > ${TEMP_DIR}/${HOSTNAME}.sha256
|
||||
sync
|
||||
|
||||
echo "verifying..."
|
||||
echo "validating the image..."
|
||||
|
||||
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}
|
||||
echo "moving compressed image to repo"
|
||||
FILE="${FILE}.bz2"
|
||||
mv ${FILE} "${BACKUP_REPO}/${HOSTNAME}"
|
||||
exit 0
|
||||
if sha256sum --status -c ${TEMP_DIR}/${HOSTNAME}.sha256 <${FILE}; then
|
||||
echo " Image sucessfully validated"
|
||||
else
|
||||
echo "checksum verify failed, exiting"
|
||||
exit 1
|
||||
echo " failed to validate image."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
||||
echo "compressing image with ${CMD_COMPRESS}"
|
||||
${CMD_COMPRESS} ${FILE}
|
||||
REPO_DIR="${BACKUP_REPO}/${HOSTNAME}"
|
||||
echo "moving compressed image to repo"
|
||||
if [ ! -d "${REPO_DIR}" ]; then mkdir "${REPO_DIR}"; fi
|
||||
FILE="${FILE}.zst"
|
||||
mv ${FILE} "${BACKUP_REPO}/${HOSTNAME}"
|
||||
|
||||
}
|
||||
|
||||
numshift=0
|
||||
@@ -120,3 +116,6 @@ echo "FILE=${FILE}"
|
||||
|
||||
echo "SD-Card Backup ${VERSION}"
|
||||
start_backup
|
||||
echo "cleaning up..."
|
||||
rm -v "${TEMP_DIR}/${HOSTNAME}.sha256"
|
||||
exit 0
|
||||
|
5
formatdate.sh
Executable file
5
formatdate.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
tdate=$(date '+%y-%m-%d')
|
||||
|
||||
echo ${tdate}
|
16
purgerepo.sh
16
purgerepo.sh
@@ -1,14 +1,8 @@
|
||||
#!/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}"
|
||||
rm -f "${backupfile}"
|
||||
done
|
||||
|
||||
|
||||
|
||||
|
||||
# Finde alle Dateien im Verzeichnis, sortiere sie nach Änderungszeit, und überspringe die neuesten drei
|
||||
ls -t | tail -n +4 | while read -r file; do
|
||||
# Lösche jede Datei, die älter als die drei neuesten ist
|
||||
rm -v "$file"
|
||||
done
|
||||
|
Reference in New Issue
Block a user