Script Allinea

Guides, tutorials & docs
Post Reply
User avatar
rugyada
Amministratore
Amministratore
Posts: 1562
Joined: 14 July 2008, 22:58
ROSA: ROSA.Fresh R8 64bit
OpenMandriva: OMLx 4.2
Kernel: kernel-release
Desktop: KDE tutta la vita
country: Italy

Script Allinea

Post by rugyada »

di roberto_65

Questo script permette di effettuare un allineamento tra due directory del proprio PC o tra una di un sito ed una locale.

Ricopiare questo script e salvare in: /usr/sbin
con il nome: allinea

Code: Select all

#!/bin/bash
# Questo script permette di effettuare un allineamento tra due 
# directory del proprio PC o tra una di un sito ed una locale.
# Effettua RSYNC #
# 07/09/2008 - R.Z. #
echo $0
if [ $2 ]; then
    echo && echo "COPIA & AGGIORNAMENTO IN CORSO..."
    ps=$1 && pd=$2
    if [ ! -d $pd ]; then
       mkdir -p ${pd}
    fi
    echo && echo "RSYNC da: ${ps}/ a: ${pd}/"
    rsync -ravz ${ps}/ ${pd}/
    echo "COMPLETO !"
    exit 0
fi
echo -n "Copia da un server esterno (s/N) [n] -->" && read cs
if [ ! $cs ]; then
	cs="n"
   else
	cs="s"
fi
echo
if [ $cs == "s" ]; then
	echo -n "Nome del server esterno oppure il DNS -->" && read dns
	echo -n "Tuo Login ------------------------------>" && read log
echo
fi
echo -n "Perscorso sorgente:      -->" && read ps
echo -n "Perscorso destinazione: -->" && read pd
echo && echo -n "SEI SICURO DI FARLO (S/n)? [n] -->" && read sn
if [ ! $sn ]; then
    sn="n"
fi
if [ ! -d $pd ]; then
       mkdir -p ${pd}
fi
if [ $sn == "s" ]; then
    echo && echo "COPIA & AGGIORNAMENTO IN CORSO..."
    if [ $cs == "n" ]; then
	    echo && echo ${ps}/ ${pd}/
	    rsync -ravz ${ps}/ ${pd}/
	    echo "COMPLETO !"
       else
	    echo && echo ${log}@${dns}:${ps}/ ${pd}/
	    rsync -ravz -e ssh ${log}@${dns}:${ps}/ ${pd}/
	    echo "COMPLETO !"
    fi
    echo "Procedura abortita !"
fi
exit 0
L'uso è semplicissimo:

Sintassi:

Code: Select all

allinea [nome_directory_sorgente] [nome_directory_destinazione]
Oppure senza sintassi.
Se non si fornisce alcun parametro diventa interattivo.

Un esempio potrebbe essere questo:

Code: Select all

allinea /home /backup/home
Io lo uso per effettuare l'intera copia di un mirror su di un HD portatile:

Code: Select all

allinea rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586 /media/hd_usb/mandriva/i586

Questo script non sempre può funzionare con i server esterni, ma solo con quelli che hanno attivo RSYNC, mentre per la copia interna da un HD o da un PC ad un altro è perfetto !!!!

Ciao Roberto
Image
ciauu ciauu, ruru

MIB... e le stelle stanno a guardare.
«E' bello avere delle certezze, tipo la terra gira, il sole è caldo, se ti prendi con quelli del MIB vieni fanculizzato. Cose semplici, in fondo» (M.C.)

Post Reply