Si sono verificati i seguenti errori:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.3.13 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Uscita dallo script in caso di errore
#1
Buona sera a tutti,
Avrei bisogno del vostro aiuto per il perfezionamento di uno script.
la situazione è la seguente:
- due NAS in cui ci sono n cartelle di rete;
- il primo NAS master e il secondo slave su cui viene salvata una copia con rsync;
- il nome delle cartelle è identico.
Lo script funziona, e compie i seguenti passaggi:
1 definisce il percorso di una cartella per il file di log;
2 controlla se la cartella non esiste e la crea;
3 definisce il file di log(composto dalla data in cui viene fatto);
4 controlla se le cartelle locali in /media/ su cui saranno montate le cartelle di rete esistono altrimenti le crea;
5 monta la cartella direte sorgente (da cui vengono copiati i dati);
6 monta la cartella di rete di destinazione (su cui vengono copiati i dati);
7 con il comando rsync copia i dati da sorgente a destinazione.
Lo script funziona fino a quando non c'è un problema di rete, come ad esempio una risorsa non disponibile, per che nonostante l'errore continua a copiare i dati nelle cartella montate, fino a quando non si esaurisce lo spazio del sistema operativo.
Vorrei mettere una condizione nel momento in cui vado a montare la risorsa tipo:
if "mount......... " da errore scrivilo nel file errori, esci e passa all'istruzione successiva.
Però non riesco a farlo.
Poterste aiutarmi per favore??
in allegato lo script in questione

Codice:
#!/bin/bash
#Prova di script copia file

Directory_log=/media/LogNAS

if [ ! -d "$Directory_log" ]; then
mkdir $Directory_log
fi


Log=$Directory_log/"Log_prova_del_`date +%d%m%y`".txt

echo "bkp prova del giorno `date +%y%m%d`" >>$Log


if [ ! -d /media ]; then
mkdir /media
fi
if [ ! -d /media/54 ]; then
mkdir /media/master
fi

if [ ! -d /media ]; then
mkdir /media
fi
if [ ! -d /media/246 ]; then
mkdir /media/slave
fi


Directory_sorgente=/media/master/cartella1
Directory_destinazione=/media/slave/cartella1


if [ ! -d "$Directory_sorgente" ]; then
mkdir $Directory_sorgente
fi

if [ ! -d "$Directory_destinazione" ]; then
mkdir $Directory_destinazione
fi


sudo mount -t cifs -o username=admin,password=password,gid=1000,uid=1000,sec=ntlm,vers=1.0 //172.178.0.213/cartella1 $Directory_sorgente

sudo mount -t cifs -o username=admin,password=BOCCAPIENA,gid=1000,uid=1000,sec=ntlm,vers=1.0 //172.178.0.245/cartella1 $Directory_destinazione

echo "cartella1  inizio copia `date`" >>$Log
rsync -avd --delete $Directory_sorgente/ $Directory_destinazione/ >> $Log
echo "cartella1 fine copia `date`" >>$Log

umount $Directory_sorgente
umount $Directory_destinazione

echo "*************************" >>$Log
echo  >>$Log




Directory_sorgente=/media/master/cartella2
Directory_destinazione=/media/slave/cartella2


if [ ! -d "$Directory_sorgente" ]; then
mkdir $Directory_sorgente
fi

if [ ! -d "$Directory_destinazione" ]; then
mkdir $Directory_destinazione
fi


sudo mount -t cifs -o username=admin,password=password,gid=1000,uid=1000,sec=ntlm,vers=1.0 //172.178.0.213/cartella2 $Directory_sorgente

sudo mount -t cifs -o username=admin,password=BOCCAPIENA,gid=1000,uid=1000,sec=ntlm,vers=1.0 //172.178.0.245/cartella2 $Directory_destinazione

echo "cartella1  inizio copia `date`" >>$Log
rsync -avd --delete $Directory_sorgente/ $Directory_destinazione/ >> $Log
echo "cartella1 fine copia `date`" >>$Log

umount $Directory_sorgente
umount $Directory_destinazione

echo "*************************" >>$Log
echo  >>$Log
Cita messaggio
Grazie da:


Messaggi in questa discussione
Uscita dallo script in caso di errore - da ariex - 16-07-2018,16:45

Vai al forum:


Utenti che stanno guardando questa discussione: