Newsgroup: it.comp.os.linux.iniziare
Titolo: domande su rsync

Salve a tutti,
Sto provando ad usare rsync. Dopo avere letto parzialmente man rsync
l'ho installato su entrambe le macchine, collegate in rete fra loro e
con Debian come SO.
se uso il comando
$ sudo rsync -avz nomehost:/esempio/ /destinazione
questi mi copia la dir "/esempio" comprensiva di tutte le eventuali
sotto-dir nella dir "/destinazione". Fin qui tutto OK.
Quello che mi domando e` se si possono escludere alcune sotto-dir
dalla dir principale...
ho letto la parte di man rsync che specifica le opzioni
"--exclude=PATTERN" e "--exclude-from=FILE"
Ma non sono sicuro se sono le opzioni giuste per la mia esigenza e in
che modo inserirle tra le altre opzioni che vorrei usare (ossia rsync
-avz...)...
Mi date dei chiarimenti?
Grazie molte.
-- 
    Uranium per Capsule Corp. con Debian
==============================================
"Bene, ho finito di tagliar la legna! Nd Goku"
==============================================

 con Debian come SO.
  sul sito trovi gli esempi googla!

   sul sito trovi gli esempi googla!
Va bene, grazie... infatti devo anche capire il perche` mi richiede la
password di root dello host per poter effettuare rsync! Comunque penso
di sbrigarmela facilmente grazie a man e google, ora ho iniziato a
provarlo ma in seguito vorrei pianificare settimanalmente il rsync.


 password di root dello host per poter effettuare rsync! 
Perche' lo lanci da root, e di default usa lo stesso user che lancia il
comando. Se vuoi che usare un'altro user dell'host specificalo sulla linea
di comando, es user@host:/dir/file
-- 
Ciao.
Alessandro 

 di comando, es user@host:/dir/file
Come? Mi sa di non aver capito :(
Comunque vorrei non digitare password, sempre.


 Comunque vorrei non digitare password, sempre.
Penso si possa fare, esempio per ssh puoi usare i certificati, che (premetto
che non sono molto ferrato sull'argomento, quindi prendilo con le molle..)
permettono la connessione senza password.
Un altra possibilita' e' quella di far girare rsync come daemon su una delle
macchine, escludendo l'autenticazione.
Insomma, molto dipende da quello che devi fare. 
 
-- 
Ciao.
Alessandro 

 Insomma, molto dipende da quello che devi fare. 
In pratica dovrei poter sincronizzare alcune dir presenti sul PC
principale in quello secondario e pianificare poi l'operazione tramite
Cron. Ho provato a creare uno script sul PC secondario tramite un
esempio reperito online, come segue:
#!/bin/sh
RSYNC_PASSWORD=password_di_uranium_su_eritrium
export RSYNC_PASSWORD
rsync -avz uranium@eritrium:/home/utente/ /destinazione
Dove
eritrium e` lo host
uranium e` l'utente su eritrium
eppure, eseguendo manualmente detto script, continua a chiedermi la
password
Penso mi manchino dei pezzi... ma non capisco quali!!!
Su entrambe le macchine, comunque ho installato rsync e stavo appunto
leggendo su questo sito 
http://a2.swlibero.org/a2297.htm
 la
procedura... che capisco ancora parzialmente :(


 procedura... che capisco ancora parzialmente :(
Vedrai, con un po di pazienza riuscirai a sistemare tutto. Nel caso, ti
ricordo che e' buona norma se fai un post finale con la soluzione, cosi'
puo' essere utile anche ad altri. 
-- 
Ciao.
Alessandro 

 puo' essere utile anche ad altri. 
Ecco i passaggi che ho compiuto per effettuare la sincronizzazione
(allineamento) delle directory di una macchina (definita PRI_PC)
all'interno di una seconda macchina (definita SEC_PC) utilizzando il
programma rsync 2.6.4-6. Entrambe la macchine sono collegate fra loro
in una LAN privata preventivamente allestita. Entrambe usano Debian
Stable (Sarge) come sistema operativo. Questo e` uno dei possibili
modi, non e` l'unico, non e` "il migliore" non e` detto sia adatto per
tutti gli impieghi.
Qualsiasi considerazione e/o consiglio e` sempre ben accetto.
PASSAGGI ESEGUITI.
0. Su entrambe le macchine installare rsync (da synaptic o da apt-get
install rsync)
*Passaggi compiuti su PRI_PC il cui hostname e` "mainpc"*
1.
creare il file "rsyncd.conf" all'interno di una qualsiasi Dir e
compilarlo a dovere
per esempio:
==INIZIO ESEMPIO DI "rsyncd.conf"==
max connections:10
[altre opzioni]
[home]
	path = /home/nome.utente.su.PRI_PC
	comment = La Home di nome.utente.su.PRI_PC
	auth users = auth_...@host.SEC_PC, auth_...@host.SEC_PC,
	secrets file = /etc/rsyncd/debian.secrets
	[altre opzioni]
[nome_modulo]
	path = /una/dir/qualsiasi
	comment = Il percorso di una qualsiasi DIR (considerazioni)
	auth users = auth_...@host.SEC_PC, auth_...@host.SEC_PC
	secrets file = /etc/rsyncd/debian.secrets
	[altre opzioni]
==FINE ESEMPIO DI "rsyncd.conf"==
2. salvare quindi il file creato e "$ sudo cp rsyncd.conf /etc"
3. spostarsi in /etc e "$ sudo mkdir rsyncd"
4. cd /rsyncd
5. sudo <editor.preferito> debian.secrets e scrivere qualcosa del
tipo, per esempio:
==INIZIO ESEMPIO DI "debian.secrets"==
auth_...@host.SEC_PC:nuova.password.1
auth_...@host.SEC_PC:nuova.password.2
auth_...@host.SEC_PC:nuova.password.n
==FINE ESEMPIO DI "debian.secrets"==
6. salvare il file debian.secrets
7. verificare quindi che il file /etc/services rechi la dicitura
"rsync		873/tcp" eventualmente aggiungerla a mano
8. abilitare il demone da inetd, aggiungendo quanto segue al file
/etc/inetd.conf
"rsync	stream	tcp	nowait	root   /usr/bin/rsync rsyncd --daemon"
9. dare quindi il comando "$ sudo inetd HUP"
10. dare eventualmente il comando "$ sudo rsync --daemon"
i passaggi da compiere su PRI_PC sono finiti. Da adesso PRI_PC e` il
_SERVER DI RSYNC il cui hostname e` "mainpc"_
*Passaggi compiuti su SEC_PC*
11. tramite "Strumenti di rete" verificare le porte aperte su PRI_PC,
inserendo l'indirizzo IP (ovvero lo hostname) assegnato
preventivamente sulla rete privata. Bisognera`, in questo passaggio,
assicurarsi che su PRI_PC sia aperta la porta 873.
12. creare uno script del genere, come per esempio:
==INIZIO ESEMPIO SCRIPT RSYNC DELLA HOME "rsnc_home"==
#!/bin/sh
#
# 1. questo script crea in home un file di testo
# chiamandolo ".rsync-password" NB: un file nascosto
# 2. scrive all'interno di esso la password da usare
# 3. esegue l'operazione di rsync
# 4 .distrugge il file di testo contenente la password
# non appena finisce l'operazione di rsync
#
# e` possibile integrare un modo per inviare una
# email a un destinatario affinche` lo avvisi
# dell'avvenuto allineamento, con tanto di verbose.
# Ci sto giusto lavorando a questo passaggio!
#
# l'operazione di rsync prevede il controllo del checksum
# (-c), l'archiviazione (-a) la compressione e il mantenimento
# di tutti i permessi dei file della DIR di origine nella DIR
# di destinazione. Elimina inoltre nella destinazione i file
# i file non esistenti in origine (--delete)
#
touch ~/.rsync-password
chmod go-rwx ~/.rsync-password
echo "nuova.password.n" > ~/.rsync-password
rsync -cazpv --delete \
- --password-file=~/.rsync-password mainpc::home /destinazione
rm -f ~/.rsync-password
==FINE ESEMPIO SCRIPT RSYNC DELLA HOME "rsnc_home"==
13. salvare lo script, per esempio nella tua home
14. provare lo script con ./rsnc_home
15. se e` tutto in ordine, e` possibile metterlo a Cron per
l'allineamento quotidiano della DIR di destinazione con la DIR di origine.
i passaggi da compiere su SEC_PC sono finiti. Da adesso SEC_PC e` il
_CLIENT DI RSYNC_
Risorse utili:
man rsync
man rsyncd.conf
http://a2.swlibero.org/a2297.htm
- --
    Uranium per Capsule Corp. con Debian
==============================================
"Bene, ho finito di tagliar la legna! Nd Goku"
==============================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iD8DBQFFctiruQ69EswK0dMRAsNfAKDTd2xnuAaW6aD/hBnMcIhGkQXQiQCfTU/O
q8Fn5zqdsclk3FjclV/ysEU=
=XBoJ
-----END PGP SIGNATURE-----