|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 400
|
Bash scripting...dov'e' l'errore?
Scopo dello script: montare una dir su un server windown remoto e farci su il backup di alcuni files "pacchettandoli" con tar.
Lo script non funziona, da' questo errore: tar: /mnt/backup/Backups200/www.tar: Cannot stat: No such file or directory per ogni directory, anche se la dir viene montata corettamente.... help! Codice:
#!/bin/bash #Backuppo il backuppabile su Transylvania se possibile echo "Backup in corso..." PRIO=18 #Priorita' backup BACKUPTO="Backups200" #Dir di destinazione BACKUPFROM=("/var/www" "/var/ftp" "/var/mail" "/home" "/root" "/etc" "/var/log" "/var/lib/mysql" "/var/wwws") #Dirs da backuppare BACKUPNAMES=("www" "ftp" "mail" "home" "root" "etc" "log" "mysql" "wwws") #Nomi files bz2 MOUNTPOINT="/mnt/backup" SMBTARGET="//Transylvania/Dati" SMBUSER="webserver" SMBPASS="xxx" #Controllo almeno un po' che i prametri siano ok if [ ${#BACKUPFROM[*]} != ${#BACKUPNAMES[*]} ] then echo "Errore interno dello script. (${#BACKUPFROM[*]} ${#BACKUPNAMES[*]})" exit 1 fi echo "Monto la dir x il backup..." #Smonto la dir se fosse gia' montata umount $MOUNTPOINT #Monto la mia dir o esco se qlc nn va mount -t smbfs -o username=$SMBUSER,password=$SMBPASS $SMBTARGET $MOUNTPOINT || exit 1 #Backuppo echo "Inizio copia files" i="0" while [ $i -lt ${#BACKUPFROM[*]} ] do echo Backuppo: ${BACKUPFROM[$i]} nice -n $PRIO tar -cPfv $MOUNTPOINT/$BACKUPTO/${BACKUPNAMES[$i]}.tar ${BACKUPFROM[$i]}/ i=$[$i+1] done echo "Smonto la dir..." umount $MOUNTPOINT || exit 2 echo "Fatto." exit 0
__________________
-=( Trust No One )=- |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2002
Città: Empoli (FI)
Messaggi: 688
|
Secondo me il rpblema sta nel fatto che non crei la directory $BACKUPTO
prova a sostituire il contenuto del ciclo con Codice:
i="0" mkdir -p $MOUNTPOINT/$BACKUPTO/ cd $MOUNTPOINT/$BACKUPTO/ while [ $i -lt ${#BACKUPFROM[*]} ] do echo Backuppo: ${BACKUPFROM[$i]} nice -n $PRIO tar -cPjvf ${BACKUPNAMES[$i]}.tar.bz2 ${BACKUPFROM[$i]}/ i=$[$i+1] done Inoltre la cosa che segue l'opzione f deve essere direttamente il file destinazione. Se invece la directori $backupto esiste già nel tuo flesystem questo è solo un vaneggiamento ![]() John
__________________
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 400
|
Grazie per la risposta!
mi ero dimenticato che f dev'essere l'ultima opzione ![]() $BACKUPTO esiste gia'. Risolto. P.s. Avevo tolto j e l'estensione bz2 per motivi di rapidità nei test ![]()
__________________
-=( Trust No One )=- |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 545
|
Quote:
![]() ![]() ![]() ![]()
__________________
Linux Registered User Linux Registered Machine |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 400
|
Tra l'altro questo script è nato bastardo... la prima volta che l'ho provato mi son dimenticato di essere root e ho wippato /etc
-_-'
__________________
-=( Trust No One )=- |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:47.