root vor 10 Jahren
Ursprung
Commit
ade3f9db35
3 geänderte Dateien mit 68 neuen und 0 gelöschten Zeilen
  1. 4 0
      rdx_eject.sh
  2. BIN
      rdx_init.tar.gz
  3. 64 0
      rdx_manager.sh

+ 4 - 0
rdx_eject.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+
+/bin/umount /dev/sdb1
+/usr/sbin/eject /dev/sdb

BIN
rdx_init.tar.gz


+ 64 - 0
rdx_manager.sh

@@ -0,0 +1,64 @@
+#!/bin/bash
+
+RDX_DEVICE="/dev/sdb"
+RDX_PART="/dev/sdb1"
+BPC_DATAS_DIR="/var/lib/BackupPC"
+BPC_FILES="/root/rdx_init.tar.gz"
+
+init_rdx()
+{
+
+	echo -e "[*] Unmounting RDX "
+	umount $RDX_PART 2>&1 || echo -e "[x] Error unmounting RDX partition"
+
+	echo -e "[*] Creating /dev/sdb1..."
+	(echo o; echo n; echo p; echo 1; echo ; echo; echo w) | fdisk $RDX_DEVICE 2>&1 || echo -e "[x] Error during parted"
+
+	echo -e "[*] Creating ext4 filesystem... (this can take severals minutes)"
+	mkfs.ext4 $RDX_PART 2>&1 || echo -e "[x] Error during mkfs.ext4"
+
+	echo -e "[*] Mounting and extracting base files..."
+	mount $RDX_PART $BPC_DATAS_DIR 2>&1 || echo -e "[x] Error during mounting"
+	tar xvf $BPC_FILES -C $BPC_DATAS_DIR 2>&1 || echo -e "[x] Error during extract, check if $BPC_FILES exists"
+	check_rdx
+
+}
+
+check_rdx()
+{
+
+	rdx_present=$(smartctl -A $RDX_DEVICE | grep "Current Drive Temperature" | cut -d ":" -f2 | sed -e "s/\ //g")
+
+	if [ "$rdx_present" = "<notavailable>" ]; then
+		echo -e "[x] RDX SMART <notavailable>, maybe the disk is ejected?"
+		echo -e "[x] force unmount of $BPC_DATAS_DIR"
+		/bin/umount -f $BPC_DATAS_DIR
+	
+	else
+		echo "[*] RDX SMART OK, mouting BackupPC filesystem"
+		if [ -e $RDX_PART ]; then
+			echo -e "[*] fsck $RDX_PART"
+			/sbin/fsck -f $RDX_PART 2>&1 || echo -e "[x] Error during fsck"
+			echo -e "[*] Mount $RDX_PART in $BPC_DATAS_DIR"
+			/bin/mount $RDX_PART $BPC_DATAS_DIR 2>&1 || echo -e "[x] Error during mount"
+
+			if [ -d "/var/lib/BackupPC/pool" ]; then
+				echo -e "[*] RDX is already initilised, all is done :)"
+				/etc/init.d/backuppc restart
+			else
+				echo -e "[x] RDX is steal empty"
+				init_rdx
+			fi
+
+		else
+			echo -e "[x] Device $RDX_PART not found, maybe no parted?"
+			echo -e "[*] RDX Initialisation..."
+			init_rdx
+
+		fi
+	
+	fi
+}
+
+
+check_rdx