Dino Geek, cerca di aiutarti

Come utilizzare RSYNC per copiare file senza sovrascriverli?


RSYNC è uno strumento di sincronizzazione dei file molto potente ed efficiente. Funziona copiando solo i pezzi di file che sono cambiati, invece di copiare l’intero file ogni volta. Questi cambiamenti possono essere sia aggiunte di nuove informazioni, che modifiche a informazioni esistenti.

Se vuoi usare RSYNC per copiare file senza sovrascriverli, puoi usare l’opzione “-u” o “—update”. Secondo il manuale di RSYNC, questa opzione dice a RSYNC di “saltare i file che sono più recenti sulla destinazione”.

Ecco un esempio di come si potrebbe fare:

```
rsync -avu /percorso/sorgente/ /percorso/destinazione/
```

In questo comando:

- “-a” significa “archivio”, che copia i file in modalità ricorsiva e conserva i timestamp dei file e le autorizzazioni
- “-v” significa “verbose”, che fa sì che RSYNC stampi di più su quello che sta facendo
- “-u” è l’opzione chiave qui, che dice a RSYNC di non sovrascrivere i file più nuovi sulla destinazione

Ricorda che RSYNC usa il timestamp e la dimensione di un file per determinare se il file è cambiato o no. Quindi, se un file sulla destinazione ha lo stesso timestamp e la stessa dimensione di un file sulla sorgente, RSYNC assumerà che il file non sia cambiato e non lo copierà.

Se vuoi che RSYNC copi solo i file che non esistono affatto sulla destinazione, potrebbe essere necessario un approccio leggermente differente. Potresti utilizzare un elenco di esclusione per escludere tutti i file che esistono già nella destinazione.

Ecco un esempio di come potresti fare:

```
rsync -av —exclude-from=/percorso/lista-esclusione.txt /percorso/sorgente/ /percorso/destinazione/
```

In questo comando, —exclude-from dice a RSYNC di leggere un elenco di schemi di file da escludere da un file. Ogni linea di questo file è un modello che corrisponde ai file da escludere.

Per ottenere un elenco di tutti i file nella destinazione che dovresti escludere, potresti usare un comando come questo:

```
find /percorso/destinazione/ -type f -exec basename {} \; > /percorso/lista-esclusione.txt
```

Questo comando trova tutti i file nella directory di destinazione, ottiene il nome del file senza il percorso con basename, e poi scrive questi nomi di file in lista-esclusione.txt.

Ricorda, tuttavia, che RSYNC è uno strumento potente e puoi fare molte cose diverse con esso. Ho cercato di rendere queste istruzioni il più generale possibile, ma potresti dover adattare questi comandi alle tue specifiche esigenze.

Sorgenti:
- Informazione sull’opzione “-u” di RSYNC dal suo manuale (https://linux.die.net/man/1/rsync)
- Post del blog su come escludere i file con RSYNC (https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/)
- Articolo su find e basename (https://www.howtoforge.com/linux-basename-command/)


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo