Ho creato questo script che dovrebbe montare un volume usb, eseguire un backup e poi smontare il volume.
Il problema è che se lancio lo script da riga di comando funziona, mentre se lo faccio eseguire tramite cron ad
una determinata ora mi dice sempre "Nessun volume collegato".
Secondo voi dove sta il problema?
Grazie.
Ciao.
Codice: Seleziona tutto
#!/bin/bash
#Nome del file di log
LogFile=backupD1USB
#Destinazione
Target=/mnt/hdusb
#ID dei dischi
D1="f0711322-ba4f-4917-9b66-1129a66a819d"
D2="9620fa0e-ee32-45fe-ba55-f8b4956a57af"
#Lock file per questo backup
mkdir /tmp/backup
touch /tmp/backup/D1USB
#Scrive sul logfile giorno e ora inizio backup
echo "Inizio procedura di backup il: "`date` >> /var/log/$LogFile.log
#Verifica quale dei dischi usb è collegato e monta il volume
blkid | grep f0711322-ba4f-4917-9b66-1129a66a819d
if [ $? -eq 0 ];
then
#Scrive sul logfile l'id del disco
echo -n "Disk ID: " >> /var/log/$LogFile.log
echo $D1 >> /var/log/$LogFile.log
/bin/mount UUID=f0711322-ba4f-4917-9b66-1129a66a819d $Target
fi
blkid | grep 9620fa0e-ee32-45fe-ba55-f8b4956a57af
if [ $? -eq 0 ];
then
#Scrive sul logfile l'id del disco
echo -n "Disk ID: " >> /var/log/$LogFile.log
echo $D2 >> /var/log/$LogFile.log
/bin/mount UUID=9620fa0e-ee32-45fe-ba55-f8b4956a57af $Target
fi
echo "attendo 30 secondi"
sleep 30
#Se il volume risulta montato esegue il backup
df -h | grep hdusb
if [ $? -eq 0 ];
then
echo "copio"
cp -Rvu /dati/D1/* $Target/ > /var/log/$LogFile.txt
else
echo "Nessun volume"
echo "Nessun volume collegato" >> /var/log/$LogFile.log
fi
#Scrive sul logfile giorno e ora fine backup
echo "Fine procedura di backup il: "`date` >> /var/log/$LogFile.log
echo "------------------------------------------------------------------" >> /var/log/$LogFile.log
#Scrive sul disco un file di log con i dati riassuntivi dell'ultimo backup
/usr/bin/tail -n4 /var/log/backupD1B1.log > $Target/Backup.log
#smonta il volume
umount $Target
#Cancella lock file
rm /tmp/backup/D1USB
#Richiama lo script che spegne il computer se tutti i backup sono terminati
#/etc/scripts/spegni.sh