Recursos para la comunidad
Este tutorial está en proceso de ser escrito.
rsync
es un programa versatil para copiar archivos de local y remotamente y
para hacer backups de forma sencilla
La opción -n
te permite hacer un dry run. Esto significa ver el resultado
del programa sin correrlo realmente. Esta opcióne es muy útil para evitar
cometer errores.
rsync
puede usarse cómo alternativa a cp
. El uso general es muy parecido,
pero tiene algunas diferencias con el uso de las diagonales.
Este comando copia el contenido de la carpeta A en B.
bash
rsync -av A/ B
Este comando copia la carpeta A dentro de carpeta B.
bash
rsync -av A B
La opción -a
usa el modo archivo, manteniendo funcionando como una herramienta
de respaldo y manteniendo las últimas fechas de modificaicón de los archivos.
La opción -v
pone el programa en modo vervose, esto significa que te
mostrará información de lo qué va a hacer durante el progreso. Si además de esto quieres
tener un marcador de progreso, puedes usar la opción --progress
.
Para comprimir los archivos durante la copia se usa la opción -z
:
bash
rsync -avz A/ B
Esto es útil para copiar carpetas grandes entre computadoras diferentes.
La opción --deldete
permite borrar los archivos en B que no se encuentren
en A.
bash
rsync -av --delete A/ B
Esto es útil cuando B es tu carpeta de respaldo y normalmente no lo modificas directamente. Sin emabargo, puede ser destructivo si modificas A y B de forma regular, ya que puedes borrar información de B por equivocación.
bash
rsync -avzhP -e "ssh -p portB -A user1@serverB ssh" user2@serverC:somedir/ localdir/
-h
: human readable
-P
: --partial
y --progress
juntos. El primero mantiene archivos parciales y el segundo
muestra progreso
-A
: permite forwarding, es decir, mandar los archivos a través de otra computadora.
rsync
puede copiar excluir archivos durante la copia. Por ejemplo, para evitar copiar archivos
temporales. Para esto se usa la opción --exclude
; en el ejemplo siguiente, se usa para exluir
todos los archivos que termien con el símbolo ~
.
bash
--exclude '*~'
rsync -r -am --include=[patron] --include='*/' --exclude='*' A/ B
-r
: recursivo-m
: elimina carpeta vacías del output--include=[patron]
: el patrón que quieres incluir en la copia, por ejemplo “*.tar.gz” o “*.pdf”.--include='*/'
: indica que se incluyen subdirectorios.--exclude='*'
: excluye todos los demás archivos.El orden en el que se usan --include
y --exlude
es relevante para que el comando funcione bien.
Las siguientes secciónes son notas
rsync option -a indicates archive mode. -a option does the following,
Recursive mode Preserves symbolic links Preserves permissions Preserves timestamp Preserves owner and group
-u
-d
–existing
–max-size=’100K’
–remove-source-files
–bwlimit=100