Com utilitzar rsync per copiar fitxers

How Use Rsync Copy Files



Rsync és una eina de línia d'ordres a Linux que s'utilitza per copiar fitxers d'una ubicació d'origen a una ubicació de destinació. Podeu copiar fitxers, directoris i tot el sistema de fitxers i mantenir sincronitzats els fitxers entre diferents directoris. Fa més que copiar els fitxers. Redueix la quantitat de dades enviades per la xarxa només enviant els fitxers nous o actualitzats. Per això, es considera una gran utilitat per copiar i fer còpies de seguretat de fitxers. Rsync també admet la còpia de fitxers a un sistema remot mitjançant SSH.

En aquest article, explicarem com utilitzar rsync per copiar fitxers amb alguns exemples pràctics. També explicarem l’ús de rsync en la còpia d’un sol fitxer, diversos fitxers i directori a sistemes locals i remots. Explicarem com utilitzar Rsync per:







  • Copieu el fitxer / directori dins del sistema local
  • Copieu el fitxer / directori del local al sistema remot
  • Copieu el fitxer / directori del sistema remot a local

Hem explicat les ordres i el procediment esmentats en aquest article en un Ubuntu 20.04 LTS. Necessitareu el terminal de línia d’ordres per copiar fitxers amb rsync. Per obrir l'aplicació Terminal de línia d'ordres, utilitzeu la drecera de teclat Ctrl + Alt + T.



Instal·lació de Rsync

Rsync ve preinstal·lat a Ubuntu 20.04 LTS. Tot i això, si s’elimina accidentalment del sistema, podeu instal·lar-lo de la següent manera:



$suoapteinstal·larrsync

Aquí hi ha algunes de les opcions més utilitzades que es poden utilitzar amb rsync:





–A: mode d’arxiu
–V: mostra detalls del procés de còpia
–P: mostra la barra de progrés
–R: copia les dades de forma recursiva
–Z: comprimeix les dades
–Q: suprimeix la sortida

Copieu fitxers i directoris de forma local

La sintaxi general de rsync és:



$rsync[opció] [font] [destí]

Copieu un sol fitxer localment

Si voleu copiar un fitxer d'una ubicació a una altra dins del vostre sistema, podeu fer-ho escrivint rsync seguit del nom del fitxer font i del directori de destinació.

Per exemple, per copiar un sol fitxer file1.txt de la ubicació actual que és el directori inicial al directori ~ / Documents, l'ordre seria:

$rsync/a casa/creure/file1.txt/a casa/creure/Documents

Nota: en lloc de /home/tin/file1.txt, també podem escriure file1 ja que actualment treballem al directori inicial. A més, podem utilitzar ~ / Documents en lloc d'esmentar el camí complet com / home / tin / Documents.

Copieu diversos fitxers de forma local

Si voleu copiar diversos fitxers alhora d'una ubicació a una altra del vostre sistema, podeu fer-ho escrivint rsync seguit del nom dels fitxers font i del directori de destinació.

Per exemple, per copiar els fitxers file2.txt i file3.txt del directori inicial al directori ~ / Documents, l'ordre seria:

$rsync/a casa/creure/file2.txt/a casa/creure/file3.txt/a casa/creure/Documents

Per copiar tots els fitxers amb la mateixa extensió, podeu utilitzar el símbol asterisc (*) en lloc d'especificar individualment els noms dels fitxers. Per exemple, per copiar tots els fitxers del directori inicial que finalitza amb l'extensió .zip al directori ~ / Documents, utilitzarem:

$rsync/a casa/creure/ *.zip ~/Documents

Copieu els directoris de manera local

Si voleu copiar un directori amb el seu subdirectori i tot el contingut d'una ubicació a una altra dins del vostre sistema, podeu fer-ho escrivint rsync seguit del directori d'origen i de destinació.

Per exemple, per copiar el directori d'exemple al directori test / directori del directori inicial, l'ordre seria:

$rsync-de /a casa/creure/mostra/a casa/creure/prova

Nota: Especificar / després del directori font només copia el contingut del directori. Si no especifiquem el / després del directori font, el directori font també es copiarà al directori de destinació.

Com a la següent sortida, podeu veure que el nostre exemple de directori font també es copia al directori de destinació (ja que hem utilitzat sample en lloc de sample / com a directori font).

Rsync admet la transferència incremental, ja que podeu veure a la sortida anterior que només transfereix els fitxers nous o actualitzats.

Copieu fitxers en funció de la mida màxima

Durant la còpia, també podem especificar la mida màxima dels fitxers que es poden copiar amb l’opció –max-size. Per exemple, per copiar els fitxers no superiors a 2000 k del directori ~ / Downloads al ~ / Documents, l'ordre seria:

$rsync-a - mida màxima= 2000.000/a casa/creure/Descàrregues/ * /a casa/creure/Documents

Aquesta ordre copiarà tots els fitxers del directori ~ / Downloads al ~ / Documents, excepte els de més de 2000 k.

Copieu els fitxers en funció de la mida mínima

De la mateixa manera, també podem especificar la mida mínima dels fitxers que es poden copiar amb l'opció –min-size. Per exemple, per copiar els fitxers com a mínim a 5 M del directori ~ / Descàrregues al ~ / Documents, l'ordre seria:

$rsync-a --min-size= 5 M/a casa/creure/Descàrregues/ /a casa/creure/Documents

Aquesta ordre copiarà tots els fitxers de ~ / Downloads al directori ~ / Documents, excepte els menors de 5M.

Exclou fitxers

Mentre copieu fitxers d'un directori a un altre, podeu excloure alguns fitxers mitjançant l'opció 'exclou' seguida del nom del fitxer o de l'extensió del tipus de fitxer.

Per exemple, per excloure tots els fitxers .zip mentre copieu fitxers del directori ~ / Downloads al ~ / Documents, l'ordre seria:

$rsync-a --excloure='* .zip' /a casa/creure/Descàrregues/ /a casa/creure/Documents

Copieu fitxers i directoris de forma remota

Amb Rsync, podeu copiar un sol fitxer, diversos fitxers i directoris a un sistema remot. Per copiar fitxers i directoris de forma remota, necessitareu:

  • Rsync instal·lat al sistema local i remot
  • Accés SSH al sistema remot
  • Contrasenya d'usuari remot

Abans de copiar fitxers mitjançant rsync, assegureu-vos que pugueu accedir al sistema remot mitjançant SSH:

$sshusuari_ remot@remote_ip


La sintaxi general per copiar fitxers i directoris a un sistema remot mitjançant rsync:

$rsync[opció] [font] [usuari remot@remoteip: destinació]

Per exemple, per copiar un sol fitxer file.txt de ~ / Descàrregues al directori del sistema remot ~ / Documents, l'ordre seria:

$rsync-v~/Descàrregues/file1.txt umara@192.168.72.164:~/Documents

De la mateixa manera, per copiar el directori ~ / Downloads / files en un sistema local amb el seu subdirectori i tot el contingut al directori ~ / Downloads / samples del sistema remot:

$rsync-rv~/Descàrregues/arxius umra@192.168.72.164:~/Descàrregues/mostres

També podeu copiar els fitxers i directoris de la màquina remota a la màquina local. Per exemple, per copiar un fitxer2.txt del sistema remot a l'escriptori del sistema local:

$rsync-vumara@192.168.72.164:~/Descàrregues/file2.txt ~/Escriptori/

De la mateixa manera, per copiar un directori del sistema remot al sistema local

$rsync-rvumara@192.168.72.164:~/Descàrregues/mostra ~/Escriptori/prova

També podeu utilitzar totes les opcions com –max-size, –min-size, –exclude i altres mentre copieu fitxers al sistema remot.

Rsync és una eina fantàstica per copiar fitxers de la font a la destinació de forma local o remota. Inclou un gran conjunt d'opcions que us proporciona flexibilitat i control mentre transfereu fitxers al sistema remot.