rsync copia solo nuovi file, nessun aggiornamento?


10

Vorrei usare rsync per copiare file da un server remoto. mi piacerebbe

  • copia solo i file dal server, non rimandarli indietro.
  • copia i file che non esistono. Se il file remoto è più recente , non voglio copiarlo
  • averlo automatico. Questo mi richiede ogni volta la mia password e vorrei che fosse eseguita da cron. Quindi, come posso eseguirlo in uno script bash eseguito da cron?

Per "averlo automatico" l' --password-fileopzione fornirebbe la password al prompt del server. Il file deve contenere solo la passphrase in testo normale e non consentire ad altri utenti di avere accesso in lettura.
altmas5

Risposte:


5

Punti 1 e 2: come specificare cosa rispondere è meglio leggere la manpage rsync . Nel tuo caso, guarda in particolare la bandiera --ignore esistente.

Punto 3: questo tutorial dovrebbe iniziare usando ssh senza password con rsync. Riepilogo: imposta ssh senza password e usa '-e ssh' per dire a rsync di usare ssh invece di rsh per connettersi all'host remoto.


Ho guardato l'uomo e non riesco a capire cosa mi permetterà di copiare solo nuovi file e non aggiornarli.

1

Per la seconda parte, dato che pjz ha risposto al resto, credo che tu possa usare l'opzione --ignore-esistente per ottenere solo nuovi file.

Da http://www.samba.org/ftp/rsync/rsync.html :

Questo dice a rsync di saltare l'aggiornamento dei file che già esistono sulla destinazione (questo non ignora le directory esistenti, altrimenti non si farebbe nulla). Vedi anche --existing. Questa opzione è una regola di trasferimento, non un'esclusione, quindi non influisce sui dati inseriti negli elenchi di file e quindi non influisce sulle eliminazioni. Limita solo i file che il destinatario richiede di essere trasferito.

Questa opzione può essere utile per coloro che eseguono backup utilizzando l'opzione --link-dest quando devono continuare una corsa di backup che è stata interrotta. Poiché un'esecuzione --link-dest viene copiata in una nuova gerarchia di directory (se utilizzata correttamente), l'utilizzo di --ignore esistente assicurerà che i file già gestiti non vengano modificati (il che evita una modifica delle autorizzazioni per file hard link). Ciò significa che questa opzione sta solo esaminando i file esistenti nella stessa gerarchia di destinazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.