From 1c2259d7e65ba35318c72bbbffa4bb371a2bba02 Mon Sep 17 00:00:00 2001 From: Dmitri Popov Date: Fri, 26 Jan 2018 14:38:31 +0100 Subject: [PATCH] Add NFS mount and backup --- backup.sh | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/backup.sh b/backup.sh index 2430f13..b903b35 100755 --- a/backup.sh +++ b/backup.sh @@ -10,11 +10,33 @@ STORAGE_MOUNT_POINT="/media/storage" CARD_DEV="sdb1" CARD_MOUNT_POINT="/media/card" +# If there is a wpa_supplicant.conf file in the root of the storage device +# Rename the original config file, +# move wpa_supplicant.conf from the card to /etc/wpa_supplicant/ +# Reboot to enable networking +if [ -f "$STORAGE_MOUNT_POINT/wpa_supplicant.conf" ]; then + sudo sh -c "echo 100 > /sys/class/leds/led0/delay_on" + mv /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.bak + mv "$STORAGE_MOUNT_POINT/wpa_supplicant.conf" /etc/wpa_supplicant/wpa_supplicant.conf + reboot +fi + +# If there is a nfs_mount file in the root of the storage device +# Read the mount command and mount an NFS export +if [ -f "$STORAGE_MOUNT_POINT/nfs_mount" ]; then + sudo sh -c "echo 100 > /sys/class/leds/led0/delay_on" + NFS_COMMAND=$(head -n 1 "$STORAGE_MOUNT_POINT/nfs_mount") + sudo $NFS_COMMAND + NFS_MOUNT_POINT=`echo "$NFS_COMMAND" cut -d" " -f5` +else + NFS_MOUNT_POINT="" +fi + # Set the ACT LED to heartbeat sudo sh -c "echo heartbeat > /sys/class/leds/led0/trigger" -# Shutdown after 7 minutes if no device is connected. -sudo shutdown -h 7 "Shutdown is activated. To cancel: sudo shutdown -c" +# Shutdown after 5 minutes if no device is connected. +sudo shutdown -h 5 "Shutdown is activated. To cancel: sudo shutdown -c" # Wait for a USB storage device (e.g., a USB flash drive) STORAGE=$(ls /dev/* | grep $STORAGE_DEV | cut -d"/" -f3) @@ -34,17 +56,6 @@ sudo shutdown -c sudo sh -c "echo timer > /sys/class/leds/led0/trigger" sudo sh -c "echo 1000 > /sys/class/leds/led0/delay_on" -# If there is a wpa_supplicant.conf file in the root of the storage device -# Rename the original config file, -# move wpa_supplicant.conf from the card to /etc/wpa_supplicant/ -# Reboot to enable networking -if [ -f "$STORAGE_MOUNT_POINT/wpa_supplicant.conf" ]; then - sudo sh -c "echo 100 > /sys/class/leds/led0/delay_on" - mv /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.bak - mv "$STORAGE_MOUNT_POINT/wpa_supplicant.conf" /etc/wpa_supplicant/wpa_supplicant.conf - reboot -fi - # Wait for a card reader or a camera CARD_READER=$(ls /dev/* | grep $CARD_DEV | cut -d"/" -f3) until [ ! -z $CARD_READER ] @@ -75,6 +86,13 @@ sudo lsblk > lsblk.log # Perform backup using rsync rsync -av --exclude "*.id" $CARD_MOUNT_POINT/ $BACKUP_PATH + +# If an NFS export is mounted +# Back up files to it +if [ ! -z "$NFS_MOUNT_POINT" ]; then + rsync -av --exclude "*.id" $BACKUP_PATH/ $NFS_MOUNT_POINT +fi + # Turn off the ACT LED to indicate that the backup is completed sudo sh -c "echo 0 > /sys/class/leds/led0/brightness" fi