|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Gruppo Locale > Via Lattea > Braccio d'Orione > Sist. Solare > Terra > Veneto > VI
Messaggi: 365
|
backup con linux
Salve a tutti. Stavo provando a fare un backup automatizzato che permettesse poi di spostare il contenuto del backup in un hard disk di un altro pc della mia lan. Il tutto sempre sotto ubuntu.
Ho pensato di creare il backup con il tar e poi di usare netcat per trasferire il file. Qualcuno sa consigliarmi un metodo più efficiente e veloce?
__________________
Portatile: Dell Studio 1535 T8100, 2x2048Mb 667Mhz DDR2, 250Gb S-Ata, ATI Mobility Radeon HD3450 256Mb. Fisso: AMD Barton 2500 su Abit Nf7-S rev2.0, 2x256Mb XiperX DDR-370 Kingston, Seagate Barraccuda 80Gb S-Ata, ATI Radeon Sapphire 9600Pro. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Gruppo Locale > Via Lattea > Braccio d'Orione > Sist. Solare > Terra > Veneto > VI
Messaggi: 365
|
Per ora ho risolto usando rsync + ssh + crontab.
Ho creato uno scriptino semplice semplice backup.sh. Poi coi privilegi di amministratore ho dato il comando crontab -e ed ho aggiunto una riga per avviare periodicamente lo scriptino: Codice:
0 23 1 * * /home/utente/scripts/backup.sh - il primo numero rappresenta i minuti in cui si avvia il backup. - il secondo l'ora. - il terzo il giorno del mese. - il quarto il mese dell'anno (con * significa tutti i mesi) - il quinto il giorno della settimana (con * significa tutti i giorni della settimana) - la directory contenente lo script da avviare automaticamente. Quindi nel mio caso lo script si avvierà alle 23 del 1° giorno di ogni mese. Dentro lo scriptino backup.sh ho scritto 2 righe di codice in croce: Codice:
sudo rsync -avz --delete -e ssh /home/utente/ [email protected]:/media/FC7C16247C15D9EA/backup Le opzioni: --delete servono a cancellare i file contenuti in backup che non sono più presenti nella posizione originaria -v = verbose -a = duplica anche le sottodirectoy in modo ricordsivo -z = comprime i file durante il trasferimento Ad ogni modo col comando man rsync è tutto ben spiegato con gli esempi Infine ho configurato ssh in modo tale che non mi chiedesse la password ogni volta. In pratica in locale, dove risiede il materiale da salvare ho dato: Codice:
ssh-keygen -t rsa Così nella directory /home/utente/.ssh sono state create le 2 chiavi: id_rsa -> chiave privata da mantenere in locale id_rsa.pub -> chiave pubblica da trasferire sul pc remoto Ho creato nel computer remoto un file authorized_keys interno alla directory /home/utente/.ssh ed infine ho spostato il contenuto della chiave pubblica dentro tale file col comando: Codice:
cat /home/utente/.ssh/id_rsa.pub | ssh remoteuser@remotehost 'cat >> .ssh/authorized_keys' Spero di esser tornato utile a qualcuno Se avete qualche suggerimento per migliorare il mio sistema indicatemelo pure. Una domanda: ora se dovessi formattare quali sono le directory che dovrei salvare con lo script oltre alla home?
__________________
Portatile: Dell Studio 1535 T8100, 2x2048Mb 667Mhz DDR2, 250Gb S-Ata, ATI Mobility Radeon HD3450 256Mb. Fisso: AMD Barton 2500 su Abit Nf7-S rev2.0, 2x256Mb XiperX DDR-370 Kingston, Seagate Barraccuda 80Gb S-Ata, ATI Radeon Sapphire 9600Pro. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Ciao, il tuo metodo è funzionale e non troppo complesso.
Però mi fa nascere un dubbio: come la metti la password per sudo quando lo script è invocato da Cron? In particolare, serve sudo? Riguardo al backup del sistema qui puoi trovare lo script che sto utilizzando da circa tre anni. Le informazioni che archivio sono:
Ah, /boot/grub/menu.lst è obsoleto per sistemi Ubuntu recenti, che installano GRUB 2; si può optare di salvare /boot/grub/grub.cfg. Personalmente considero quel file piuttosto inutile, visto che le informazioni necessarie per generarlo sono in /etc/default/grub (mentre il menu.lst conteneva al suo interno le impostazioni utilizzate durante il suo aggiornamento). P.S. nello script hai specificato lo shabang, vero?
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Jan 2001
Messaggi: 2289
|
Quote:
Quote:
ciao
__________________
FreeBSD, OpenBSD and GNU/Linux User Free Software Foundation Associate Member proudly member of poco-serio™ team! nella foto son quello simpatico... l'altro e' |Stan| |
||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Gruppo Locale > Via Lattea > Braccio d'Orione > Sist. Solare > Terra > Veneto > VI
Messaggi: 365
|
Vi ringrazio per le risposte che mi son tornate utili per creare il mio script.
Il codice a cui sono arrivato è il seguente: Codice:
#!/bin/sh #Author: Carlo #Description: Script per la creazione di backup automatico e rimozione vecchi backup. HOSTNAME="192.168.1.101" TEMP_PATH="/tmp" LOG="/home/user/backup.log" HOME="/home" ETC="/etc" #verifico se l'host remoto è raggiungibile if ! ping -w 5 -c 4 $HOSTNAME > /dev/null ; then echo "Host non raggiungibile: backup annullato." | cat >> $LOG exit 1 fi #creo la cartella temporanea in locale DIR_NAME="backup--`date +%Y-%m-%d_%H.%M.%S`" if ! mkdir -p $TEMP_PATH/$DIR_NAME ; then echo "Creazione cartella temporanea fallita." | cat >> $LOG exit 1 fi FILE="$TEMP_PATH/$HOSTNAME-`date +%Y-%m-%d_%H.%M.%S`.tgz" #creo l'archivio sudo tar -cvf $FILE $ETC $HOME | cat > $LOG > /dev/null #sudo mount -t ntfs-3g /dev/sdb1 /media/hd2 rsync -avz --delete -e ssh $FILE [email protected]:/media/hd2/backup - in remoto devo montare l'hd prima di salvare il backup. La riga per effettuare il montaggio è quella in marroncino. Ma come faccio a farlo? Sempre con ssh? - ssh mi domanda la password prima di accedere all'host remoto. Come faccio ad evitare questa richiesta? Grazie.
__________________
Portatile: Dell Studio 1535 T8100, 2x2048Mb 667Mhz DDR2, 250Gb S-Ata, ATI Mobility Radeon HD3450 256Mb. Fisso: AMD Barton 2500 su Abit Nf7-S rev2.0, 2x256Mb XiperX DDR-370 Kingston, Seagate Barraccuda 80Gb S-Ata, ATI Radeon Sapphire 9600Pro. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Per eseguire il login con ssh senza password basta utilizzare la chiave per l'autenticazione, coma hai già impostato. Però devi farlo per l'utente root.
Per eseguire solamente il comando ti basta specificarlo in coda al comando di connessione. Esempio: Codice:
gimli@kwankey ~$ ssh phoenix -p14789 -lgimli ls -la total 15588 drwxr-xr-x 22 gimli gimli 4096 Aug 17 11:33 . drwxr-xr-x 6 root root 4096 Oct 13 21:24 .. -rw------- 1 gimli gimli 1329 Mar 18 2007 .ICEauthority -rw------- 1 gimli gimli 259 Mar 18 2007 .Xauthority drwx------ 2 gimli gimli 4096 Sep 14 2008 .aptitude [...] gimli@kwankey ~$
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#7 | |||
|
Senior Member
Iscritto dal: Jan 2001
Messaggi: 2289
|
Quote:
domanda banale: perche' non hai sempre mountata questa partizione? se e' un disco esterno devi tenerlo sempre acceso, tanto vale avere sempre mountata la partizione. Quote:
Quote:
__________________
FreeBSD, OpenBSD and GNU/Linux User Free Software Foundation Associate Member proudly member of poco-serio™ team! nella foto son quello simpatico... l'altro e' |Stan| |
|||
|
|
|
|
|
#8 | ||
|
Senior Member
Iscritto dal: Oct 2003
Città: Gruppo Locale > Via Lattea > Braccio d'Orione > Sist. Solare > Terra > Veneto > VI
Messaggi: 365
|
Quote:
Quote:
Ora provo e vi faccio sapere. Grazie per la disponibilità.
__________________
Portatile: Dell Studio 1535 T8100, 2x2048Mb 667Mhz DDR2, 250Gb S-Ata, ATI Mobility Radeon HD3450 256Mb. Fisso: AMD Barton 2500 su Abit Nf7-S rev2.0, 2x256Mb XiperX DDR-370 Kingston, Seagate Barraccuda 80Gb S-Ata, ATI Radeon Sapphire 9600Pro. |
||
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2001
Città: Firenze
Messaggi: 361
|
Ciao,
se cerchi la semplicita' ti consiglio "backintime" http://backintime.le-web.org/ o "sbackup" (Simple Backup Suite for desktop use) http://sourceforge.net/projects/sbackup/ entrambi offrono backup incrementali . Sono disponibili sui repository uffciali tramite synaptic. Ciao.
__________________
Utenti Utenti |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Gruppo Locale > Via Lattea > Braccio d'Orione > Sist. Solare > Terra > Veneto > VI
Messaggi: 365
|
@andreaM: è che facendolo da solo imparo qualcosa ed ho anche qualche soddisfazione se funziona.
Ad ogni modo questo è lo script finito. Se avete suggerimenti per migliorarlo, proponete pure. Codice:
#!/bin/sh #Author: Carlo #Description: Script per la creazione di backup automatico e rimozione vecchi backup. BACKUP_RECIEVER="192.168.1.101" BACKUP_SENDER="192.168.1.100" TEMP_PATH="/tmp" LOG="/home/user/backup.log" HOME="/home/" ETC="/etc/" #rimuovo il vecchio log if [ -e $LOG ]; then rm $LOG fi #verifico se l'host remoto è raggiungibile if ! ping -w 5 -c 4 $BACKUP_RECIEVER > /dev/null ; then echo "Host non raggiungibile. Backup annullato." | cat >> $LOG exit 1 fi FILE="$TEMP_PATH/$BACKUP_SENDER.tgz" #creo l'archivio if ! sudo tar -cf $FILE $ETC $HOME; then echo "Creazione del file compresso fallita. Backup annullato." | cat >> $LOG exit 1 fi rsync -avz --delete -e ssh $FILE user@$BACKUP_RECIEVER:/media/HD1/backup echo "Backup effettuato con successo il `date +%Y-%m-%d_%H.%M.%S`" | cat >> $LOG sudo rm $FILE echo "Backup completato con successo"
__________________
Portatile: Dell Studio 1535 T8100, 2x2048Mb 667Mhz DDR2, 250Gb S-Ata, ATI Mobility Radeon HD3450 256Mb. Fisso: AMD Barton 2500 su Abit Nf7-S rev2.0, 2x256Mb XiperX DDR-370 Kingston, Seagate Barraccuda 80Gb S-Ata, ATI Radeon Sapphire 9600Pro. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Gruppo Locale > Via Lattea > Braccio d'Orione > Sist. Solare > Terra > Veneto > VI
Messaggi: 365
|
Scusate per il reply.
Alla fine ho sostituito rsync con scp perchè rsync con file di grandi dimensioni mi dà problemi.
__________________
Portatile: Dell Studio 1535 T8100, 2x2048Mb 667Mhz DDR2, 250Gb S-Ata, ATI Mobility Radeon HD3450 256Mb. Fisso: AMD Barton 2500 su Abit Nf7-S rev2.0, 2x256Mb XiperX DDR-370 Kingston, Seagate Barraccuda 80Gb S-Ata, ATI Radeon Sapphire 9600Pro. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:10.




















