From d5007385f3778435e538edbee1977045ee333153 Mon Sep 17 00:00:00 2001
From: Ben Lebherz <benleb@users.noreply.github.com>
Date: Sun, 27 Oct 2019 01:35:13 +0200
Subject: [PATCH] add username option, .bashrc to backup files, implement
 shellcheck hints

---
 scripts/backup.sh | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/scripts/backup.sh b/scripts/backup.sh
index 9d19d8e..348061c 100755
--- a/scripts/backup.sh
+++ b/scripts/backup.sh
@@ -4,44 +4,48 @@
 UNIT_HOSTNAME=${1:-10.0.0.2}
 # output backup zip file
 OUTPUT=${2:-pwnagotchi-backup.zip}
+# username to use for ssh
+USERNAME=${3:-pi}
 # what to backup
 FILES_TO_BACKUP=(
   /root/brain.nn
   /root/brain.json
   /root/.api-report.json
+  /root/.bashrc
   /root/handshakes
   /root/peers
   /etc/pwnagotchi/
   /var/log/pwnagotchi.log
+  /home/pi/.bashrc
 )
 
-ping -c 1 $UNIT_HOSTNAME >/dev/null || {
-  echo "@ unit $UNIT_HOSTNAME can't be reached, make sure it's connected and a static IP assigned to the USB interface."
+ping -c 1 "${UNIT_HOSTNAME}" >/dev/null || {
+  echo "@ unit ${UNIT_HOSTNAME} can't be reached, make sure it's connected and a static IP assigned to the USB interface."
   exit 1
 }
 
 echo "@ backing up $UNIT_HOSTNAME to $OUTPUT ..."
 
-ssh pi@$UNIT_HOSTNAME "sudo rm -rf /tmp/backup && sudo rm -rf /tmp/backup.zip" > /dev/null
+ssh "${USERNAME}@${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)
+  dir=$(dirname "$file")
 
   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
+  ssh "${USERNAME}@${UNIT_HOSTNAME}" "mkdir -p /tmp/backup${dir}" > /dev/null
+  ssh "${USERNAME}@${UNIT_HOSTNAME}" "sudo cp -r ${file} /tmp/backup${dir}" > /dev/null
 done
 
-ssh pi@$UNIT_HOSTNAME "sudo chown pi:pi -R /tmp/backup" > /dev/null
+ssh "${USERNAME}@${UNIT_HOSTNAME}" "sudo chown ${USERNAME}:${USERNAME} -R /tmp/backup" > /dev/null
 
 echo "@ pulling from $UNIT_HOSTNAME ..."
 
 rm -rf /tmp/backup
-scp -rC pi@$UNIT_HOSTNAME:/tmp/backup /tmp/
+scp -rC "${USERNAME}@${UNIT_HOSTNAME}":/tmp/backup /tmp/
 
 echo "@ compressing ..."
 
-zip -r -9 -q $OUTPUT /tmp/backup
+zip -r -9 -q $"OUTPUT" /tmp/backup
 rm -rf /tmp/backup