{"id":1525,"date":"2026-11-10T13:50:41","date_gmt":"2026-11-10T16:50:41","guid":{"rendered":"https:\/\/alejandria.edu.uy\/?p=1525"},"modified":"2026-11-10T13:50:41","modified_gmt":"2026-11-10T16:50:41","slug":"rsync","status":"publish","type":"post","link":"https:\/\/alejandria.edu.uy\/?p=1525","title":{"rendered":"rsync"},"content":{"rendered":"<p class=\"gt-block wp-block-paragraph\"><strong>El comando rsync en Linux es<\/strong> Una utilidad de sincronizaci\u00f3n y copia de seguridad de archivos r\u00e1pida y confiable que copia solo los datos modificados mediante un algoritmo de transferencia delta. Conserva los permisos, la propiedad, las marcas de tiempo y admite compresi\u00f3n y cifrado. SSH, exclusiones y duplicaci\u00f3n. Los administradores utilizan rsync para copias de seguridad locales y remotas, migraciones de servidores e implementaciones eficientes de sitios web.<\/p>\n<p class=\"wp-block-paragraph\">Si manage Para servidores o sitios web Linux, dominar el comando rsync en Linux es esencial. En esta gu\u00eda de usuario, aprender\u00e1 exactamente c\u00f3mo funciona rsync, c\u00f3mo instalarlo, opciones principales, ejemplos reales, optimizaci\u00f3n del rendimiento y mejores pr\u00e1cticas para copias de seguridad incrementales seguras, ya sea que est\u00e9 sincronizando localmente o con un servidor remoto. SSH.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"what-is-rsync-and-how-it-works\" class=\"wp-block-heading\">\u00bfQu\u00e9 es rsync y c\u00f3mo funciona?<\/h2>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-12394 entered litespeed-loaded\" src=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-19.png\" sizes=\"auto, (max-width: 2496px) 100vw, 2496px\" srcset=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-19.png 2496w, https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-19-150x100.png.webp 150w\" alt=\"\u00bfQu\u00e9 es rsync y c\u00f3mo funciona?\" width=\"2496\" height=\"1664\" data-lazyloaded=\"1\" data-src=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-19.png\" data-srcset=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-19.png 2496w, https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-19-150x100.png.webp 150w\" data-sizes=\"(max-width: 2496px) 100vw, 2496px\" data-ll-status=\"loaded\" \/><\/figure>\n<p class=\"wp-block-paragraph\">rsync (sincronizaci\u00f3n remota) es una herramienta de copia diferencial de archivos. En lugar de transferir archivos completos cada vez, rsync calcula las diferencias y env\u00eda solo los bloques modificados, lo que reduce dr\u00e1sticamente el ancho de banda y el tiempo.<\/p>\n<p class=\"gt-block wp-block-paragraph\">Admite copias locales a locales y transferencias locales a remotas (o remotas a locales). <a href=\"https:\/\/www.youstable.com\/es\/blog\/C%C3%B3mo-conectarse-al-servidor-v%C3%ADa-ssh\/\">v\u00eda SSH<\/a> o un demonio rsync, mientras preserva metadatos y maneja enlaces simb\u00f3licos, dispositivos y enlaces duros.<\/p>\n<p class=\"gt-block wp-block-paragraph\"><strong>Capacidades clave:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>El algoritmo de transferencia delta copia solo los cambios.<\/li>\n<li>Conserva los permisos, la propiedad y las marcas de tiempo.<\/li>\n<li>Trabaja localmente o en otros lugares. SSHdemonio \/rsync<\/li>\n<li>Admite patrones de exclusi\u00f3n\/inclusi\u00f3n y listas de archivos<\/li>\n<li>Duplicaci\u00f3n y poda con <code class=\"notranslate\">--delete<\/code><\/li>\n<li>Compresi\u00f3n (<code class=\"notranslate\">-z<\/code>) y resultados de progreso (<code class=\"notranslate\">-P<\/code>\/<code class=\"notranslate\">--info=progress2<\/code>)<\/li>\n<\/ul>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"install-rsync-on-linux\" class=\"wp-block-heading\">Instalar rsync en Linux<\/h2>\n<p class=\"wp-block-paragraph\">rsync est\u00e1 disponible en todas las distribuciones principales. Use su paquete manager:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># Debian\/Ubuntu\r\nsudo apt update &amp;&amp; sudo apt install rsync\r\n\r\n# RHEL\/CentOS\/Rocky\/Alma (RHEL 8+)\r\nsudo dnf install rsync\r\n\r\n# Fedora\r\nsudo dnf install rsync\r\n\r\n# Arch\/Manjaro\r\nsudo pacman -S rsync<\/code><\/pre>\n<p class=\"gt-block wp-block-paragraph\"><strong>Verificar instalaci\u00f3n:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync --version<\/code><\/pre>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"basic-syntax-and-quick-start\" class=\"wp-block-heading\">Sintaxis b\u00e1sica e inicio r\u00e1pido<\/h2>\n<p class=\"gt-block wp-block-paragraph\"><strong>La sintaxis de rsync es simple:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync [OPTIONS] SOURCE DESTINATION<\/code><\/pre>\n<p class=\"gt-block wp-block-paragraph\"><strong>Ejemplos:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># 1) Local directory to directory\r\nrsync -av \/home\/user\/Documents\/ \/mnt\/backup\/Documents\/\r\n\r\n# 2) Local to remote over SSH (port 22 by default)\r\nrsync -av -e ssh \/var\/www\/ user@server:\/backups\/www\/\r\n\r\n# 3) Remote to local download\r\nrsync -av -e ssh user@server:\/var\/log\/ \/local\/logs\/<\/code><\/pre>\n<p class=\"gt-block wp-block-paragraph\"><strong>Por seguridad, haga un ensayo antes de ejecutar:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync -av --dry-run --delete \/source\/ \/dest\/<\/code><\/pre>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"most-used-rsync-options-explained\" class=\"wp-block-heading\">Explicaci\u00f3n de las opciones m\u00e1s utilizadas de rsync<\/h2>\n<p class=\"gt-block wp-block-paragraph\"><strong>Memoriza estas banderas fundamentales para moverte r\u00e1pido y evitar errores:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"notranslate\">-a<\/code> (archivo): <\/strong>Copia y conserva de forma recursiva los permisos, la propiedad, las marcas de tiempo, los enlaces simb\u00f3licos y mucho m\u00e1s.<\/li>\n<li><strong><code class=\"notranslate\">-v<\/code> (verboso):<\/strong> Mostrar m\u00e1s resultados. Combinar con <code class=\"notranslate\">-a<\/code> as <code class=\"notranslate\">-av<\/code>.<\/li>\n<li><strong><code class=\"notranslate\">-z<\/code> (comprimir):<\/strong> Comprime los datos durante la transferencia, ideal para enlaces WAN.<\/li>\n<li><strong><code class=\"notranslate\">-P<\/code> (progreso + parcial):<\/strong> Muestra el progreso y conserva archivos parciales para reanudar la reproducci\u00f3n m\u00e1s r\u00e1pidamente.<\/li>\n<li><strong><code class=\"notranslate\">--info=progress2<\/code>:<\/strong> Barra de progreso \u00fanica y acumulativa para ejecuciones largas.<\/li>\n<li><strong><code class=\"notranslate\">-e ssh<\/code>: <\/strong>Usar SSH como medio de transporte para el cifrado y la autenticaci\u00f3n.<\/li>\n<li><strong><code class=\"notranslate\">--delete<\/code>:<\/strong> Eliminar en el destino los archivos que ya no existen en el origen (espejo).<\/li>\n<li><strong><code class=\"notranslate\">--exclude<\/code>\/<code class=\"notranslate\">--include<\/code>:<\/strong> Omitir o incluir archivos\/patrones espec\u00edficos.<\/li>\n<li><strong><code class=\"notranslate\">--exclude-from=FILE<\/code>:<\/strong> Cargar patrones de exclusi\u00f3n desde un archivo.<\/li>\n<li><strong><code class=\"notranslate\">--bwlimit=KBPS<\/code>:<\/strong> Limita el ancho de banda para evitar la saturaci\u00f3n de los enlaces.<\/li>\n<li><strong><code class=\"notranslate\">--checksum<\/code>: <\/strong>Comparaci\u00f3n mediante suma de comprobaci\u00f3n en lugar de tama\u00f1o\/tiempo (m\u00e1s lento, pero m\u00e1s preciso).<\/li>\n<li><strong><code class=\"notranslate\">--partial<\/code>:<\/strong> Conservar los archivos transferidos parcialmente en caso de interrupci\u00f3n.<\/li>\n<li><strong><code class=\"notranslate\">--backup --backup-dir=DIR<\/code>: <\/strong>Guarda los archivos modificados o eliminados en un directorio de copia de seguridad.<\/li>\n<\/ul>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"trailing-slash-behavior-critical-to-avoid-mistakes\" class=\"wp-block-heading\">Comportamiento de la barra diagonal final (fundamental para evitar errores)<\/h2>\n<p class=\"gt-block wp-block-paragraph\"><strong>rsync trata una barra diagonal final en la fuente de manera diferente:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li><code class=\"notranslate\">rsync -av \/src\/ \/dst\/<\/code> significa \u201ccopiar el contenido de <code class=\"notranslate\">\/src<\/code> cobren <code class=\"notranslate\">\/dst<\/code>.<\/li>\n<li><code class=\"notranslate\">rsync -av \/src \/dst\/<\/code> significa \u00abcopiar el directorio <code class=\"notranslate\">src<\/code> en s\u00ed mismo <code class=\"notranslate\">\/dst<\/code>\u00bb (resultado: <code class=\"notranslate\">\/dst\/src\/...<\/code>).<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Al reflejar el contenido del directorio, agregue la barra diagonal final en la fuente.<\/p>\n<h2 id=\"common-rsync-use-cases-with-real-examples\" class=\"wp-block-heading\">Casos de uso comunes de rsync con ejemplos reales<\/h2>\n<h3 id=\"1-local-backups-with-archival-mode\" class=\"wp-block-heading\">1) Copias de seguridad locales con modo de archivo<\/h3>\n<p class=\"wp-block-paragraph\">Conservar atributos y copiar s\u00f3lo los archivos modificados:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync -av \/home\/user\/Pictures\/ \/mnt\/backup\/Pictures\/<\/code><\/pre>\n<h3 id=\"2-secure-remote-sync-over-ssh\" class=\"wp-block-heading\">2) Sincronizaci\u00f3n remota segura a trav\u00e9s de SSH<\/h3>\n<p class=\"wp-block-paragraph\">Usar SSH para cifrado y autenticaci\u00f3n basada en claves:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># Default SSH port (22)\r\nrsync -avz -e ssh \/var\/www\/ user@host:\/data\/www\/\r\n\r\n# Custom port (e.g., 2222)\r\nrsync -avz -e \"ssh -p 2222\" \/var\/www\/ user@host:\/data\/www\/<\/code><\/pre>\n<h3 id=\"3-mirror-a-directory-add-delete-to-match-source\" class=\"wp-block-heading\">3) Duplicar un directorio (agregar o eliminar para que coincida con la fuente)<\/h3>\n<p class=\"wp-block-paragraph\">Aseg\u00farese de que el destino sea un espejo exacto:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># Always dry-run first to confirm deletions\r\nrsync -av --dry-run --delete \/srv\/files\/ \/srv\/mirror\/\r\n\r\n# Then run for real\r\nrsync -av --delete \/srv\/files\/ \/srv\/mirror\/<\/code><\/pre>\n<h3 id=\"4-exclude-files-and-folders\" class=\"wp-block-heading\">4) Excluir archivos y carpetas<\/h3>\n<p class=\"wp-block-paragraph\">Omite archivos temporales, cach\u00e9s o carpetas grandes que no necesitas:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync -av --exclude=\".git\" --exclude=\"node_modules\" --exclude=\"*.tmp\" \r\n\/project\/ \/backup\/project\/<\/code><\/pre>\n<p class=\"gt-block wp-block-paragraph\"><strong>Utilice un archivo de exclusi\u00f3n para facilitar la lectura:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># exclude.txt\r\n.git\r\nnode_modules\r\n*.tmp\r\ncache\/<\/code><\/pre>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync -av --exclude-from=exclude.txt \/project\/ \/backup\/project\/<\/code><\/pre>\n<h3 id=\"5-incremental-backups-with-versions\" class=\"wp-block-heading\">5) Copias de seguridad incrementales con versiones<\/h3>\n<p class=\"wp-block-paragraph\">Almacene instant\u00e1neas diarias de manera eficiente utilizando enlaces f\u00edsicos (<code class=\"notranslate\">--link-dest<\/code>), ahorrando espacio y conservando el historial:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># Prepare directories\r\nsudo mkdir -p \/backups\/www\r\ncd \/backups\/www\r\n\r\n# Create a dated snapshot using link-dest to the latest one\r\nDATE=$(date +%F)\r\nrsync -a --delete \r\n  --link-dest=\/backups\/www\/latest \r\n  \/var\/www\/ \/backups\/www\/$DATE\/\r\n\r\n# Update the \"latest\" symlink\r\nrm -f \/backups\/www\/latest\r\nln -s \/backups\/www\/$DATE \/backups\/www\/latest<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Esto permite realizar copias de seguridad diarias r\u00e1pidas y que ahorran espacio, a la vez que le permite consultar o restaurar datos cualquier d\u00eda.<\/p>\n<h3 id=\"6-resume-interrupted-transfers\" class=\"wp-block-heading\">6) Reanudar transferencias interrumpidas<\/h3>\n<p class=\"wp-block-paragraph\">Usar <code class=\"notranslate\">-P<\/code> (o <code class=\"notranslate\">--partial --progress<\/code>) para reanudar y ver el progreso:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync -avP -e ssh \/large\/archive.iso user@host:\/srv\/archive\/<\/code><\/pre>\n<h3 id=\"7-verify-integrity-with-checksums\" class=\"wp-block-heading\">7) Verificar la integridad con sumas de comprobaci\u00f3n<\/h3>\n<p class=\"wp-block-paragraph\">Cuando la precisi\u00f3n importa m\u00e1s que la velocidad, fuerce la comparaci\u00f3n de suma de comprobaci\u00f3n:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync -av --checksum \/source\/ \/dest\/<\/code><\/pre>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"security-best-practices-for-rsync\" class=\"wp-block-heading\">Mejores pr\u00e1cticas de seguridad para rsync<\/h2>\n<ul class=\"wp-block-list\">\n<li>Utilice SSH transporte (<code class=\"notranslate\">-e ssh<\/code>) con autenticaci\u00f3n basada en claves y desactivaci\u00f3n de inicios de sesi\u00f3n con contrase\u00f1a en los servidores.<\/li>\n<li>Use una cuenta de usuario restringida para las copias de seguridad (con privilegios m\u00ednimos). Evite ejecutar como root a menos que sea necesario.<\/li>\n<li>Para extracciones remotas que necesitan archivos solo de root, considere <code class=\"notranslate\">sudo rsync<\/code> con un apretado <code class=\"notranslate\">sudoers<\/code> regla.<\/li>\n<li>Limitar SSH por IP y puerto, y utilice reglas de firewall; agregue autenticaci\u00f3n de dos factores o claves de hardware para hosts cr\u00edticos.<\/li>\n<li>Evite exponer el demonio rsync directamente en Internet a menos que comprenda completamente las ACL y la autenticaci\u00f3n del m\u00f3dulo.<\/li>\n<\/ul>\n<p class=\"gt-block wp-block-paragraph\">On <a href=\"https:\/\/www.youstable.com\/es\/blog\/benefits-of-fully-managed-dedicated-server\/\">managed VPS o Servidores Dedicados en YouStable<\/a>, puede habilitar SSH Acceso restringido mediante clave y pol\u00edticas de firewall desde el primer d\u00eda para garantizar copias de seguridad basadas en rsync sin complicaciones.<\/p>\n<h2 id=\"performance-tuning-tips\" class=\"wp-block-heading\">Consejos para optimizar el rendimiento<\/h2>\n<ul class=\"wp-block-list\">\n<li><strong>Comprimir sobre WAN:<\/strong> <code class=\"notranslate\">-z<\/code>En redes LAN r\u00e1pidas, la compresi\u00f3n puede ralentizar las transferencias: pruebe en ambos sentidos.<\/li>\n<li><strong>Mostrar el progreso de manera eficiente:<\/strong> <code class=\"notranslate\">--info=progress2<\/code> para grandes operaciones.<\/li>\n<li><strong>Elija la estrategia de transferencia: <\/strong><code class=\"notranslate\">--whole-file<\/code> favorece el rendimiento de la LAN; <code class=\"notranslate\">--inplace<\/code> evita archivos temporales para actualizaciones muy grandes.<\/li>\n<li><strong>Omitir ruido:<\/strong> Usar <code class=\"notranslate\">--exclude<\/code> Patrones para evitar registros, cach\u00e9s y artefactos de compilaci\u00f3n.<\/li>\n<li><strong>Acelerar si es necesario:<\/strong> <code class=\"notranslate\">--bwlimit=20480<\/code> l\u00edmites a ~20 MB\/s para proteger el tr\u00e1fico de producci\u00f3n.<\/li>\n<li><strong>Aumentar SSH Rendimiento de los cifrados:<\/strong> try <code class=\"notranslate\">-e \"ssh -c aes128-gcm@openssh.com\"<\/code> en el moderno AbiertoSSH para un cifrado m\u00e1s r\u00e1pido.<\/li>\n<\/ul>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"rsync-daemon-mode-advanced\" class=\"wp-block-heading\">Modo demonio Rsync (avanzado)<\/h2>\n<p class=\"wp-block-paragraph\">rsync puede ejecutarse como un demonio (TCP 873) que sirve m\u00f3dulos con nombre. Esto puede ser eficiente en redes confiables, pero requiere ACL y autenticaci\u00f3n cuidadosas. Ejemplo m\u00ednimo:<\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># \/etc\/rsyncd.conf\r\nuid = nobody\r\ngid = nogroup\r\nuse chroot = yes\r\nread only = yes\r\nhosts allow = 10.0.0.0\/24\r\n\r\n[files]\r\n    path = \/srv\/exports\/files\r\n    comment = Files export<\/code><\/pre>\n<p class=\"gt-block wp-block-paragraph\"><strong>Iniciar el demonio temporalmente:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">sudo rsync --daemon --config=\/etc\/rsyncd.conf<\/code><\/pre>\n<p class=\"gt-block wp-block-paragraph\"><strong>Conectarse desde un cliente:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\">rsync -av rsync:\/\/server\/files\/ \/local\/dir\/<\/code><\/pre>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"troubleshooting-common-rsync-errors\" class=\"wp-block-heading\">Soluci\u00f3n de errores comunes de rsync<\/h2>\n<h3 id=\"permission-denied\" class=\"wp-block-heading\">Permiso denegado<\/h3>\n<p class=\"gt-block wp-block-paragraph\"><strong>Causa: <\/strong>permisos insuficientes o SSH Problemas de autenticaci\u00f3n. Soluci\u00f3n: aseg\u00farese de que el usuario, los permisos de archivo y la clave sean correctos. SSH. Probar <code class=\"notranslate\">sudo<\/code> cuando corresponda, o ajustar la propiedad con <code class=\"notranslate\">chown<\/code>.<\/p>\n<h3 id=\"failed-to-set-times-ownership\" class=\"wp-block-heading\">No se pudieron establecer horarios ni propiedad<\/h3>\n<p class=\"gt-block wp-block-paragraph\"><strong>Causa:<\/strong> no se ejecuta como un usuario con privilegios. Soluci\u00f3n: ejecute rsync con <code class=\"notranslate\">sudo<\/code> sobre el destino o evitar preservar la propiedad (<code class=\"notranslate\">--no-owner --no-group<\/code>) cuando no es necesario.<\/p>\n<h3 id=\"mkstemp-failed-permission-denied\" class=\"wp-block-heading\">mkstemp fall\u00f3: Permiso denegado<\/h3>\n<p class=\"gt-block wp-block-paragraph\"><strong>Causa:<\/strong> Restricciones de escritura en el directorio de destino. Soluci\u00f3n: compruebe los permisos del directorio y el espacio libre; intente <code class=\"notranslate\">--inplace<\/code> Si los archivos temporales est\u00e1n bloqueados.<\/p>\n<h3 id=\"protocol-version-mismatch\" class=\"wp-block-heading\">Desajuste de la versi\u00f3n del protocolo<\/h3>\n<p class=\"gt-block wp-block-paragraph\"><strong>Causa: <\/strong>rsync muy antiguo en un lado. Soluci\u00f3n: actualizar rsync en ambos extremos. Usando SSH El transporte generalmente evita los problemas del protocolo demonio.<\/p>\n<h2 id=\"rsync-vs-scp-vs-rclone-when-to-use-what\" class=\"wp-block-heading\">Rsync vs SCP vs Rclone: \u200b\u200bCu\u00e1ndo usar qu\u00e9<\/h2>\n<ul class=\"wp-block-list\">\n<li><strong>sincronizar:<\/strong> Ideal para sincronizaciones incrementales, duplicaci\u00f3n, copias de seguridad y actualizaciones delta parciales localmente o en otro lugar. SSHL\u00f3gica de exclusi\u00f3n\/inclusi\u00f3n avanzada.<\/li>\n<li><strong>SCP\/SFTP:<\/strong> Copia simple de archivos SSHNo utiliza algoritmo delta ni l\u00f3gica de sincronizaci\u00f3n avanzada; es adecuado para transferencias puntuales.<\/li>\n<li><strong>Rclone:<\/strong> Priorizamos la sincronizaci\u00f3n en la nube con S3, GCS, OneDrive, etc. Si tu destino es el almacenamiento de objetos, rclone es ideal; para servidores POSIX, rsync es la mejor opci\u00f3n.<\/li>\n<\/ul>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n<h2 id=\"real-world-hosting-workflows-wordpress-lamp-and-more\" class=\"wp-block-heading\">Flujos de trabajo de alojamiento web en el mundo real (WordPress, LAMP y m\u00e1s)<\/h2>\n<h3 id=\"deploying-a-wordpress-site\" class=\"wp-block-heading\">Implementaci\u00f3n de un sitio de WordPress<\/h3>\n<p class=\"gt-block wp-block-paragraph\"><strong>Sincronizar temas y cargas de forma segura:<\/strong><\/p>\n<div class=\"gt-code-header\"><span class=\"gt-code-label\">Code<\/span><button class=\"gt-copy-btn\">Copy<\/button><\/div>\n<pre class=\"notranslate wp-block-code\"><code class=\"notranslate\"># From staging to production, preserving permissions\r\nrsync -avz -e ssh --exclude=\"wp-content\/cache\" \r\n\/var\/www\/stage.example.com\/ wpuser@prod:\/var\/www\/example.com\/<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Para completar la implementaci\u00f3n, combine esto con una exportaci\u00f3n\/importaci\u00f3n de la base de datos. Para migraciones sin tiempo de inactividad, ponga el sitio en modo de mantenimiento, sincronice los archivos con rsync, sincronice la base de datos y, a continuaci\u00f3n, desactive el modo de mantenimiento.<\/p>\n<h3 id=\"nightly-server-backups\" class=\"wp-block-heading\">Copias de seguridad nocturnas del servidor<\/h3>\n<p class=\"wp-block-paragraph\">Ejecutar un trabajo cron que utilice <code class=\"notranslate\">--link-dest<\/code> para crear instant\u00e1neas fechadas. Gu\u00e1rdelas en un disco separado o en un servidor de respaldo remoto. Si usa YouStableVPS o alojamiento dedicado, configure un destino externo seguro y monitoree el ancho de banda con <code class=\"notranslate\">--bwlimit<\/code> para ventanas de respaldo predecibles.<\/p>\n<h3 id=\"migrating-a-site-between-hosts\" class=\"wp-block-heading\">Migrar un sitio entre hosts<\/h3>\n<p class=\"wp-block-paragraph\">Utilice rsync sobre SSH copiar <code class=\"notranslate\">\/var\/www<\/code>, archivos de configuraci\u00f3n en <code class=\"notranslate\">\/etc<\/code> (con cuidado) y datos de usuario. Realice una sincronizaci\u00f3n delta final durante una ventana de transici\u00f3n programada para capturar los cambios de \u00faltimo minuto y luego cambie. DNS.<\/p>\n<h2 id=\"pro-tips-from-the-field\" class=\"wp-block-heading\">Consejos profesionales desde el campo<\/h2>\n<ul class=\"wp-block-list\">\n<li>Realice siempre un ensayo en seco con <code class=\"notranslate\">--dry-run<\/code> antes de usar <code class=\"notranslate\">--delete<\/code>.<\/li>\n<li>Utilice rutas absolutas en los scripts cron para evitar sorpresas al cambiar los directorios de trabajo.<\/li>\n<li>Salida de registro con <code class=\"notranslate\">--log-file=\/var\/log\/rsync-backup.log<\/code> para auditor\u00edas y resoluci\u00f3n de problemas.<\/li>\n<li>Combine rsync con instant\u00e1neas (LVM, ZFS, Btrfs) para realizar copias de seguridad consistentes de datos en vivo.<\/li>\n<li>Para bases de datos, volcar primero (<code class=\"notranslate\">mysqldump<\/code> or <code class=\"notranslate\">pg_dump<\/code>), luego rsync los archivos de volcado.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>El comando rsync en Linux es Una utilidad de sincronizaci\u00f3n y copia de seguridad de archivos r\u00e1pida y confiable que copia solo los datos modificados&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1525","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=\/wp\/v2\/posts\/1525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1525"}],"version-history":[{"count":1,"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=\/wp\/v2\/posts\/1525\/revisions"}],"predecessor-version":[{"id":1526,"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=\/wp\/v2\/posts\/1525\/revisions\/1526"}],"wp:attachment":[{"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alejandria.edu.uy\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}