backup con tar

Enrico M. enricom a teppisti.it
Dom 9 Lug 2006 17:48:18 CEST


Alle 15:18, domenica 9 luglio 2006, Matteo Riondato ha scritto:
> On Sun, Jul 09, 2006 at 02:29:39PM +0200, Enrico M. wrote:
> > Non so che pesci pigliare
>
> [rionda a kaiser][~]> touch "prova prova"
> [rionda a kaiser][~]> set VAR="prova prova"
> [rionda a kaiser][~]> tar jcvpf prova.tbz "$VAR"
> a prova prova
> [rionda a kaiser][~]>
>
> Così va? (Ossia: togli il passo del sed, e metti $VAR tra "")
> Ciao
Non capisco perché, ma non va.
Ho modificato leggermente lo script affinché aggiungesse le " all'inizio ed 
alla fine di ogni percorso:
FILES=`/usr/bin/find /work -mtime -$DAY -exec /bin/echo '"{}"' \;`
echo "$FILES" mi da l'elenco di tutti i percorsi dei files da salvare
/usr/bin/tar -jcvpf backup.tar.bz2 $FILES
mi restituisce sempre lo stesso errore, virgolette incluse:
tar: "home/<utente>/documento : Cannot stat
tar: di: Cannot stat
tar: pippo: Cannot stat

L'unica cosa che mi ha funzionato è aggiungere i files all'archivio man mano 
che vengono trovati da find:
/usr/bin/find /work -mtime -$DAY -exec /usr/bin/tar -rvpf backup.tar \{\} \;
Ha il piccolo inconveniente che non è possibile usare un archivio compresso, 
ma bisogna comprimerlo dopo aver aggiunto tutti i files e decomprimerlo prima 
di aggiungere nuovi files.

Forse potrebbe tornare utile mostrarvi lo script (una chioppa, lo so, non sono 
capace):
      1 #!/bin/sh
      2 # Questo script esegue il backup differenziale settimanale di work
      3 #
      4 PATH=/mnt/backup/work/weekly
      5 DAY=`/bin/date "+%d"`
      6 echo
      7 echo "Controlla se ci sono files da salvare"
      8 echo
      9 FILES=`/usr/bin/find /work ! -type d -exec /bin/echo '"{}"' \;`
     10 if test -n "$FILES"
     11 then
     12         /sbin/mount /mnt/backup
     13         DATE=`/bin/date "+%Y-%m-%d"`
     14         echo "Saranno salvati i seguenti files: "
     15         echo "$FILES"
     16	      /usr/bin/tar -cvjpf $PATH/$DATE.tar.bz2 "$FILES"
     17         /sbin/umount /mnt/backup
     18 else
     19         echo
     20         echo "Non ci sono files da salvare"
     21         echo
     22 fi
     23 # EOF


Maggiori informazioni sulla lista aiuto