++ fix detect_disk
This commit is contained in:
@@ -52,32 +52,20 @@ if [[ $EUID -ne 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Rileva i dischi
|
||||
DISKS=($(detect_disks | grep "^/dev/" || echo ""))
|
||||
# Funzione per rilevare i dischi
|
||||
detect_disks() {
|
||||
local disks=()
|
||||
|
||||
# Verifica se pv è installato
|
||||
echo -e "${YELLOW}[2/6] Verifica dipendenze...${NC}"
|
||||
if ! command -v pv &> /dev/null; then
|
||||
echo -e "${YELLOW}pv (Pipe Viewer) non è installato. Installazione in corso...${NC}"
|
||||
apt-get update -qq && apt-get install -y pv || yum install -y pv || {
|
||||
echo -e "${RED}Impossibile installare pv. Installa manualmente: apt-get install pv${NC}"
|
||||
exit 1
|
||||
}
|
||||
# Scansiona tutti i device da sda a sdz
|
||||
for device in /sys/block/sd*; do
|
||||
if [[ ! -d "$device" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Verifica bc per i calcoli
|
||||
if ! command -v bc &> /dev/null; then
|
||||
echo -e "${YELLOW}bc non è installato. Installazione in corso...${NC}"
|
||||
apt-get update -qq && apt-get install -y bc || yum install -y bc || {
|
||||
echo -e "${RED}Impossibile installare bc. Installa manualmente: apt-get install bc${NC}"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
echo -e "${GREEN}✓ Dipendenze OK${NC}"
|
||||
echo ""
|
||||
disk_name=$(basename "$device")
|
||||
|
||||
# Verifica connettività SSH
|
||||
echo -e "${YELLOW}[3/6_name" | grep -qE "$EXCLUDE_DEVICES"; then
|
||||
# Esclude dispositivi specifici
|
||||
if echo "$disk_name" | grep -qE "$EXCLUDE_DEVICES"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
@@ -107,20 +95,36 @@ echo -e "${YELLOW}[3/6_name" | grep -qE "$EXCLUDE_DEVICES"; then
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}Dischi da esportare: ${#disks[@]}${NC}"
|
||||
echo "${disks[@]}"
|
||||
printf '%s\n' "${disks[@]}"
|
||||
}
|
||||
|
||||
# Rileva i dischi
|
||||
echo -e "${YELLOW}[1/6] Rilevamento dischi...${NC}"
|
||||
DISKS=($(detect_disks))
|
||||
|
||||
# Verifica se pv è installato
|
||||
echo -e "${YELLOW}[2/6] Verifica dipendenze...${NC}"
|
||||
if ! command -v pv &> /dev/null; then
|
||||
echo -e "${YELLOW}pv (Pipe Viewer) non è installato. Installazione in corso...${NC}"
|
||||
apt-get update -qq && apt-get install -y pv || yum install -y pv || {
|
||||
echo -e "${RED}Impossibile installare pv. Installa manualmente: apt-get install pv${NC}"
|
||||
exit 14/6
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
# Verifica bc per i calcoli
|
||||
if ! command -v bc &> /dev/null; then
|
||||
echo -e "${YELLOW}bc non è installato. Installazione in corso...${NC}"
|
||||
apt-get update -qq && apt-get install -y bc || yum install -y bc || {
|
||||
echo -e "${RED}Impossibile installare bc. Installa manualmente: apt-get install bc${NC}"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
echo -e "${GREEN}✓ Dipendenze OK${NC}"
|
||||
echo ""
|
||||
|
||||
# Verifica connettività SSH
|
||||
echo -e "${YELLOW}[1/5] Verifica connettività verso ${REMOTE_HOST}...${NC}"
|
||||
echo -e "${YELLOW}[3/6] Verifica connettività verso ${REMOTE_HOST}...${NC}"
|
||||
if ! ssh -o ConnectTimeout=5 ${REMOTE_USER}@${REMOTE_HOST} "echo 'OK'" &> /dev/null; then
|
||||
echo -e "${RED}Errore: Impossibile connettersi a ${REMOTE_USER}@${REMOTE_HOST}${NC}"
|
||||
echo "Assicurati che SSH sia configurato e che la chiave pubblica sia installata."
|
||||
@@ -130,7 +134,7 @@ echo -e "${GREEN}✓ Connessione SSH OK${NC}"
|
||||
echo ""
|
||||
|
||||
# Verifica spazio su destinazione
|
||||
echo -e "${YELLOW}[2/5] Verifica spazio disponibile su ${REMOTE_HOST}...${NC}"
|
||||
echo -e "${YELLOW}[4/6] Verifica spazio disponibile su ${REMOTE_HOST}...${NC}"
|
||||
REMOTE_SPACE=$(ssh ${REMOTE_USER}@${REMOTE_HOST} "df -BG ${REMOTE_PATH} | tail -1 | awk '{print \$4}' | sed 's/G//'")
|
||||
echo -e "Spazio disponibile: ${REMOTE_SPACE} GB"
|
||||
if [[ $REMOTE_SPACE -lt 30 ]]; then
|
||||
|
||||
Reference in New Issue
Block a user