Newsgroup: it.comp.os.linux.software
Titolo: confrontare una directory locale con una directory remota (ftp)

...per la sincronizzazione uso lftp con cui richiamo un  apposito script 
che contiene questi comandi:
 
open -u admin,admin 192.168.0.3
mirror -c -e -R /dir1 /dir2
exit
 
ma se prima della sincronizzazione volessi fare confronto preliminare, 
esiste un comando apposito, oppure devo usare un altro software ad hoc?
Nel secondo caso, quale mi consigliate?
 
Ho sentito parlare di BeyonCompare, ma funziona anche con directory ftp?

Addi' 03 nov 2013, alex scrive:

Per confrontare tutti i file di tutta una directory e delle subdirectory
c'e' il comando di sistema "diff", pero' non guarda mica la data dei
file, guarda solo il contenuto. Ecco la riga di comando:
 
diff -qr dir1 dir2
 
Se non ci metti l'opzione -q allora ti mostra anche tutte le differenze,
con q ti indica solo i file diversi.
 
-- 
Tanti saluti
 

Nel secondo caso, quale mi consigliate?
 
"sitecopy" sembrerebbe una buona opzione.
 
Leonardo
 
-- 
 
Then felt I like some watcher of the skies, when a new planet swims into his ken;
Or like stout Cortez when with eagle eyes, he star'd at the Pacific; and all his men
Look'd at each other with a wild surmise - silent, upon a peak in Darien.

 con q ti indica solo i file diversi.
 
cmq bisogna montare la dir. ftp in una dir. locale, o la legge direttamente?

 e se confronta il contenuto, di tempo c'è ne vuole...
 
No, e' velocissimo. Pero' segui a occhi chiusi il consiglio di Leonardo.
 
-- 
Tanti saluti
 


 
ma dopo averl installato e configurato, come si avvia il confronto?


e la seconda domanda?


non hai pensato di prendere in considerazione rsync ?
 

 e la seconda domanda?
 
Alla seconda domanda non so risponderti, perche' di ftp non ci capisco
nulla. Cosa ti costa provare? Guarda che diff non tocca nulla, non puo'
fare danni, e' un programma unix antichissimo e serissimo.
 
-- 
Tanti saluti
 

 non hai pensato di prendere in considerazione rsync ?
 
cioè dovrei lanciarlo col parametro -n e vedere cosa dice?
Ma c'è anche il parametro --dry-run, qual'è la differenza rispetto a -n?
Sembra siano identici?

 fare danni, e' un programma unix antichissimo e serissimo.
 
forse non ha capito.
Volevo solo sapere se diff supporta nativamente il protocollo ftp. Così 
eviterei di montare la cartella ftp, su una cartella locale
 


-n + l' abbreviazione --dry-run
un altra opzione è --list-only
 

 -n + l' abbreviazione --dry-run
 
è un'addizione?
 


banale errore di battitura, chiedo scusa :)
grazie cmq


E' un errore di battitura, volevo scrivere che
-n è l' abbreviazione di --dry-run
 

ma dopo averl installato e configurato, come si avvia il confronto?
 
Leggendo il manuale :-)
 
	sitecopy --fetch sitename
 
legge il sito remoto, registrandone (a seconda di cosa hai configurato) data,
ora, filesize e forse MD5, non rammento questo dettaglio cosi' al volo.
 
A questo punto
 
	sitecopy --flatlist sitename
 
dovrebbe elencare i file cambiati.
 
A differenza di rsync (che pero' non gira su FTP), sitecopy i file "cambiati"
li ributta su tutti da zero, quindi se aggiungi un byte a un file di un giga,
**non** vorrei esse' te, e guarderei piuttosto a rsync con occhio lubrico :-)
 
Poi quando vuoi fare sync da locale a remoto,
 
	sitecopy --update sitename
 
mentre se qualcuno ha ciacciato sul sito remoto, e vuoi fare un aggiornamento
in locale per esaminarlo con calma,
 
	sitecopy --synchronize sitename
 
(Io mi son fatto un paio di scriptini con xmledit per fare cose tipo "mandami
su SOLO IL FILE X fra tutti quelli cambiati e gli altri no davvero", pero' le
altre funzioni mi pare ci fossero tutte).



capito ;)

 **non** vorrei esse' te, e guarderei piuttosto a rsync con occhio lubrico:-)
 
"li ributta su tutti da zero", cio� tradotto in italiano?
Cmq perdonami, ma in "generale" non ho capito molto quello che ha detto.
E'  un sito importante (quello che sto gestendo), quindi non posso 
permettermi di fare stupidagini...

 	sitecopy --synchronize sitename
 
anche qui nebbia...
Cio� se qualcuno � andato a caccia (di fagiani o di galline)...
Con tutta la buona votont� faccio fatica a capirti
 

permettermi di fare stupidagini...
 
Fai prima delle prove su un sito di test, con poca roba. Comunque sitecopy ha
anche la modalita' "safe" e il list, naturalmente, ti dice cosa FAREBBE senza
che lo faccia davvero.


Con tutta la buona votontà faccio fatica a capirti
 
Scusa. 'Ciacciare', non 'cacciare' :-) ... "se qualcuno ha modificato dei file
sul sito remoto (per es. dei log, o magari un intervento spot su un file), non
vuoi sovrascrivere il file, o almeno, prima vuoi capire cos'e' successo".


 o meno mezzo Kb di dati, ma sitecopy (e FTP) ti trasferiscono tutto il giga.
 
ma quindi --fetch elenca solo i file, o fa anche la sincronizzazione?
 

 vuoi sovrascrivere il file, o almeno, prima vuoi capire cos'e' successo".
 
bah mi sa che faccio prima a scaricare il sito in una dir. locale e fare 
il confronto con diff

ma quindi --fetch elenca solo i file, o fa anche la sincronizzazione?
 
Prende i DATI dei file remoti e li registra. Ma per sincronizzarli devi fare
tu un update.
 
--list ti dice cosa lui VORREBBE mandare in update.



Quello lo fai con --synchronize, appunto (poi fai il diff). Oppure prima
--fetch, poi (se del caso) --synchronize, poi magari diff.
