Newsgroup: it.comp.os.linux.iniziare
Titolo: Backup .fetchmail

Salve,
sto usando il seguente comando:
tar czh /root/* > /tmp/root.tgz
per backuppare quanto si trova in /root.
Tuttavia e' emerso un problema: non
vengono backuppati i file che iniziano
con "." (tra cui l'importante .fetchmailrc).
Come posso ovviare?
Grazie molte.
Roberto Colmegna

 Come posso ovviare?
 
Credo che il problema sia l'asterisco. Con quello tu gli dici di
backuppare i files contentuti in /root, e lui ovviamente tralascia
quelli col punto, nascosti. Inoltre, non sono un esperto, ma la sintassi
mi sembra un po' strana 
Prova con un bel tar czf /tmp/root.tgz /root (ma perchč vuoi piazzare il
backup nella cartella /tmp?).
Ciao.
-- 
Lucio. ICQ# 126307243
"Tutto quello che possiamo fare č sperare per il meglio, aspettarci 
il peggio e accontentarci di una via di mezzo" 

 Come posso ovviare?
# tar -zcvf /tmp/root.tgz /root
Fare backup in /tmp non e' una buona idea. :-)
-- 
Enrico Bodo  -   Postdoctoral Research Fellow      
University of Rome "La Sapienza" 
Department of Chemistry         

 
Io mi sono fatto questo script che funziona benino e mi genera anche un file
di log, cmq questo è uno vecchio, in uff. ne ho sviluppato uno per il
backup via rete ed è rifatto un po' meglio, sul controllo delle dir
ecc....cmq puoi prendere spunto come ne ho preso io da vari script. Non
sono un esperto di bash!!:-)
#!/bin/bash
##Definizione delle variabili##
 
        ROOT="
michele...@libero.it
"
        SRC="/home"
        TMP="/tmp/back"
        TAR="backup-$(date).tgz"
        LOG="/var/log/backup/backup-$(date).log"
        DES="/backup"
##Fine delle definizione delle variabili##
##Controlla se l'utente è  root
eval `/usr/bin/id | /bin/sed 's/[^a-z0-9=].*//'`
if [ "${uid:=0}" -ne 0 ]; then
        clear
        echo
        echo " ####Procedura di backup ####"
        echo
        echo -n "   ---> Assegnazione Variabili... "
        echo
        echo >> $LOG
        echo -n "Inizio log *********** " >> $LOG
        date >> $LOG
        echo >> $LOG
        sleep 2
        echo "OK."
        echo
        echo
        logger -p 
daemon.info
 1.Inizio backup
 
        #Cancella contenuto directory di appoggio
        echo -n " ---> Cancellazione files precedenti... "
        logger -p 
daemon.info
 "2.Cancellazione files in $TMP"
        cd $TMP
        ls -la $TMP >> $LOG 2>&1
        rm -rf $TMP* >> $LOG 2>&1
        sleep 2
        echo "OK."
        echo
        echo
        #Creiamo l'archivio compresso dei dati del backup
        echo -n " ---> Creazione del file compresso... "
        logger -p 
daemon.info
 3.Creazione del file compresso
        du -s -m $SRC           >> $LOG 2>&1
        tar -czf $TMP$TAR $SRC  >> $LOG 2>&1
        du -s -m $TMP           >> $LOG 2>&1
        cp $TMP$TAR $DES        >> $LOG 2>&1
        sync
        echo "OK."
        echo
        echo
        #Fine
        echo " ---> Archiviazione terminata"
        logger -p 
daemon.info
 4.Archiviazione terminata
        echo "OK."
        echo
        echo
        echo "OK."
        echo >> $LOG
        echo -n "Fine log ********** " >> $LOG
        date >> $LOG
        echo >> $LOG
 
        exit 1
else
        mail -s "Impossibile fare il backup, non e' stato eseguito come root" $ROOT 
fi

         rm -rf $TMP* >> $LOG 2>&1
          ^^^^^^^^^^^^^
	  Per questo metterei il backslash, altrimenti rimuove tutta
	  la dir /tmp/back e non solo i files in essa contenuti.
	  Quindi al successivo backup non avrebbe trovato la /tmp/back.
[...]
-- 
Linux Registered User 
*****  249907  *****
http://counter.li.org

 backup nella cartella /tmp?).
... subito dopo lo scripts lo copia su d'un altro PC via smbclient!  ;)
Grazie!

 if [ "${uid:=0}" -ne 0 ]; then
Potevi usare anche direttamente:
	if [ "`id -u`" = "0" ]; then