diff --git a/scripts/backup.sh b/scripts/backup.sh index c943058..f66ca78 100755 --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -4,8 +4,6 @@ UNIT_HOSTNAME=${1:-10.0.0.2} # output backup zip file OUTPUT=${2:-pwnagotchi-backup.zip} -# temporary folder -TEMP_BACKUP_FOLDER=/tmp/pwnagotchi_backup # what to backup FILES_TO_BACKUP=( /root/brain.nn @@ -13,9 +11,6 @@ FILES_TO_BACKUP=( /root/.api-report.json /root/handshakes /etc/pwnagotchi/ - /etc/hostname - /etc/hosts - /etc/motd /var/log/pwnagotchi.log ) @@ -26,17 +21,24 @@ ping -c 1 $UNIT_HOSTNAME >/dev/null || { echo "@ backing up $UNIT_HOSTNAME to $OUTPUT ..." -rm -rf "$TEMP_BACKUP_FOLDER" +ssh pi@$UNIT_HOSTNAME "sudo rm -rf /tmp/backup && sudo rm -rf /tmp/backup.zip" > /dev/null for file in "${FILES_TO_BACKUP[@]}"; do dir=$(dirname $file) - echo " $file -> $TEMP_BACKUP_FOLDER$dir/" - mkdir -p "$TEMP_BACKUP_FOLDER/$dir" - scp -Cr root@$UNIT_HOSTNAME:$file "$TEMP_BACKUP_FOLDER$dir/" + + echo "@ copying $file to /tmp/backup$dir" + + ssh pi@$UNIT_HOSTNAME "mkdir -p /tmp/backup$dir" > /dev/null + ssh pi@$UNIT_HOSTNAME "sudo cp -r $file /tmp/backup$dir" > /dev/null done -ZIPFILE="$PWD/$OUTPUT" -pushd $PWD -cd "$TEMP_BACKUP_FOLDER" -zip -r -9 -q "$ZIPFILE" . -popd +echo "@ pulling from $UNIT_HOSTNAME ..." + +rm -rf /tmp/backup +scp -rC pi@$UNIT_HOSTNAME:/tmp/backup /tmp/ + +echo "@ compressing ..." + +zip -r -9 -q $OUTPUT /tmp/backup +rm -rf /tmp/backup +