#1305 enhance config script

This commit is contained in:
rootzoll 2020-07-04 13:00:35 +02:00
parent 77d0e6e82f
commit 1fe9fde962
4 changed files with 88 additions and 17 deletions

View File

@ -234,7 +234,7 @@ do
# check if a additional local backup target is set
# parameter in raspiblitz.conf:
# localBackupDeviceUUID='[DEVICEUUID]'
if [ ${#localBackupDeviceUUID} -gt 0 ]; then
if [ "${localBackupDeviceUUID}" != "" ] && [ "${localBackupDeviceUUID}" != "off" ];; then
# check if device got mounted on "/mnt/backup" (gets mounted by _bootstrap.sh)
backupDeviceExists=$(df | grep -c "/mnt/backup")

View File

@ -452,16 +452,9 @@ fi
################################
source ${configFile}
echo "Checking if additional backup device is configured .. (${localBackupDeviceUUID})" >> $logFile
if [ ${#localBackupDeviceUUID} -gt 0 ]; then
if [ "${localBackupDeviceUUID}" != "" ] && [ "${localBackupDeviceUUID}" != "off" ];; then
echo "Yes - Mounting BackupDrive: ${localBackupDeviceUUID}" >> $logFile
sudo mkdir -p /mnt/backup 2>/dev/null
sudo mount --uuid ${localBackupDeviceUUID} /mnt/backup >> $logFile
mountWorked=$(df | grep -c "/mnt/backup")
if [ ${mountWorked} -gt 0 ]; then
echo "OK BackupDrive mounted to: /mnt/backup" >> $logFile
else
echo "FAIL BackupDrive mount - check if device is connected & UUID is correct" >> $logFile
fi
sudo /home/admin/config.scripts/blitz.backupdevice.sh mount >> $logFile
else
echo "No additional backup device was configured." >> $logFile
fi

View File

@ -5,10 +5,12 @@ if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
echo "# blitz.backupdevice.sh status"
echo "# blitz.backupdevice.sh on [?DEVICEUUID]"
echo "# blitz.backupdevice.sh off"
echo "# blitz.backupdevice.sh mount"
echo "error='missing parameters'"
exit 1
fi
echo "# blitz.backupdevice.sh"
source /mnt/hdd/raspiblitz.conf
#########################
@ -16,7 +18,7 @@ source /mnt/hdd/raspiblitz.conf
#########################
# is on or off
if [ "${localBackupDeviceUUID}" == "" ]; then
if [ "${localBackupDeviceUUID}" == "" ] || [ "${localBackupDeviceUUID}" == "off" ]; then
# get all the devices that are not mounted and possible candidates
drivecounter=0
@ -38,12 +40,22 @@ fi
if [ "$1" = "status" ]; then
echo "# Backup Device Status"
if [ ${#localBackupDeviceUUID} -gt 0 ]; then
echo "backupdevice=on"
echo "backupdeviceUUID='${localBackupDeviceUUID}'"
if [ "${localBackupDeviceUUID}" == "" ] || [ "${localBackupDeviceUUID}" == "off" ]; then
echo "backupdevice=1"
echo "UUID='${localBackupDeviceUUID}'"
# check if nackup device is mounted
backupDeviceExists=$(df | grep -c "/mnt/backup")
if [ ${backupDeviceExists} -gt 0 ]; then
echo "isMounted=1"
else
echo "isMounted=0"
fi
else
echo "backupdevice=off"
echo "backupdevice=0"
echo "UUID=''"
echo "isMounted=0"
fi
exit 0
@ -56,6 +68,72 @@ fi
if [ "$1" = "on" ]; then
echo "# BACKUP DEVICE ADD"
# select and format device if UUID is not given
uuid=$2
if [ "${uuid}" == "" ]; then
echo "# TODO: dialog to connect, choose and format device"
exit 1
fi
# check that device is connected
uuidConnected=$(lsblk -o UUID | grep -c "${uuid}")
if [ ${uuidConnected} -eq 0 ]; then
echo "error='device not found'"
exit 1
fi
# change raspiblitz.conf
entryExists=$(cat /mnt/hdd/raspiblitz.conf | grep -c 'localBackupDeviceUUID=')
if [ ${entryExists} -eq 0]; then
echo "localBackupDeviceUUID='off'" >> /mnt/hdd/raspiblitz.conf
fi
sudo sed -i "s/^localBackupDeviceUUID=.*/localBackupDeviceUUID='${uuid}'/g" /mnt/hdd/raspiblitz.conf
echo "activated=1'"
# mount device (so that no reboot is needed)
source <(sudo /home/admin/config.scripts/blitz.backupdevice.sh mount)
echo "isMounted=${isMounted}"
if [ ${isMounted} -eq 0 ]; then
echo "error='failed to mount'"
fi
exit 0
fi
#########################
# MOUNT
#########################
if [ "$1" = "mount" ]; then
echo "# BACKUP DEVICE MOUNT"
# check if feature is on
if [ "${localBackupDeviceUUID}" == "" ] || [ "${localBackupDeviceUUID}" == "off" ]; then
echo "error='feature is off'"
exit 1
fi
checkIfAlreadyMounted=$(df | grep -c "/mnt/backup")
if [ ${checkIfAlreadyMounted} -gt 0 ]; then
echo "# there is something already mounted on /mnt/backup"
echo "error='already mounted'"
exit 1
fi
sudo mkdir -p /mnt/backup 1>&2
sudo mount --uuid ${localBackupDeviceUUID} /mnt/backup 1>&2
mountWorked=$(df | grep -c "/mnt/backup")
if [ ${mountWorked} -gt 0 ]; then
echo "# OK BackupDrive mounted to: /mnt/backup"
echo "isMounted=1"
else
echo "# FAIL BackupDrive mount - check if device is connected & UUID is correct"
echo "isMounted=0"
echo "error='mount failed'"
fi
exit 0
fi

View File

@ -561,7 +561,7 @@ if [ "$1" = "fstab" ]; then
# write new /etc/fstab & mount
>&2 echo "# updating /etc/fstab & mount"
sudo mkdir -p /mnt/hdd 1>2&
sudo mkdir -p /mnt/hdd 1>/dev/null
sudo sed "3 a UUID=${uuid1} /mnt/hdd ext4 noexec,defaults 0 2" -i /etc/fstab 1>/dev/null
sync
sudo mount -a 1>/dev/null