Como copiar directorios e ficheiros co comando rsync en Linux

Use o comando Linux rsync para copiar cartafoles / ficheiros desde a liña de comandos

rsync é un programa de transferencia de ficheiros para Linux que permite copiar directorios e ficheiros cun simple comando , que inclúe opcións adicionais que pasan a función de copia tradicional.

Unha das características útiles do rsync é que cando se usa os directorios de copia, pode excluír os ficheiros dun xeito sistemático. Deste xeito, se está a usar rsync para facer copias de seguridade de ficheiros, só pode ter só unha copia de seguridade dos ficheiros que realmente desexa arquivar, evitando todo o demais.

Exemplos de rsync

Usar o comando rsync precisa correctamente que siga a sintaxe correcta:

rsync [OPTION] ... [SRC] ... [DEST] rsync [OPTION] ... [SRC] ... [USER @] HOST: DEST rsync [OPTION] ... [SRC] ... [ USUARIO @] HOST :: DEST rsync [OPCIÓN] ... [SRC] ... rsync: // [USER @] HOST [: PORT] / DEST rsync [OPCIÓN] ... [USUARIO @] HOST: SRC [ DEST] rsync [OPTION] ... [USER @] HOST :: SRC [DEST] rsync [OPTION] ... rsync: // [USER @] HOST [: PORT] / SRC [DEST]

O espazo de opción indicado arriba pode ser cuberto con varias cousas. Consulte a sección OPCIONES RESUMEN da páxina de documentación de rsync para obter unha lista completa.

Aquí tes só algúns exemplos de como usar rsync con algunhas destas opcións:

Consello: en todos estes exemplos, o texto en negra non se pode cambiar porque forma parte do comando. Como podes dicir, os camiños do cartafol e outras opcións son personalizados para os nosos exemplos específicos, polo que serán diferentes cando os uses.

rsync /home/jon/Desktop/data/*.jpg / home / jon / Desktop / backupdata /

Neste exemplo anterior, todos os ficheiros JPG do / data / folder copianse na carpeta / backupdata / folder do usuario do escritorio de Jon.

rsync --max-size = 2k / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

Este exemplo de rsync é un pouco máis complicado xa que está configurado para non copiar ficheiros se son maiores de 2.048 KB. É dicir, só para copiar arquivos menores que o tamaño indicado. Podes usar k, m ou g para indicar kilobytes, megabytes e gigabytes no multiplicador 1.024, ou kb , mb ou gb para usar 1.000.

rsync --min-size = 30mb / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

O mesmo pódese facer para --min-size , como vedes arriba. Neste exemplo, rsync só copiará ficheiros de 30 MB ou maior.

rsync --min-size = 30mb --progress / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

Cando estea copiando ficheiros que son bastante grandes, como 30 MB ou máis, e especialmente cando hai un número deles, pode querer ver o progreso da función de copia en lugar de asumir que o comando quedou conxelado. Nestes casos, use a opción --progress para ver o proceso acadar o 100%.

rsync --recursive / home / jon / Desktop / data / home / jon / Desktop / data2

A opción --recursive fornece un xeito sinxelo de copiar un cartafol enteiro a outro lugar, como o / data2 / folder do noso exemplo.

rsync -r --exclude = "* .deb " / home / jon / Desktop / data / home / jon / Desktop / backupdata

Tamén pode copiar un cartafol enteiro pero excluír ficheiros dunha certa extensión de arquivo , como os ficheiros DEB neste exemplo anterior. Nesta ocasión, todo o / data / folder copiase a / backupdata / like no exemplo anterior, pero todos os ficheiros DEB están excluídos da copia.