Web Management · 6 min read · Feb 14, 2026

Mantenimiento de sitios web remotos con sitecopy en Ubuntu 16.04

sitecopy es una herramienta para copiar sitios web almacenados localmente a un servidor web remoto (usando FTP o WebDAV). Te ayuda a mantener el sitio remoto sincronizado con tu copia local al subir archivos locales modificados y eliminar archivos remotos que han sido eliminados en la computadora local. Este tutorial muestra cómo puedes gestionar tu sitio web remoto desde tu escritorio local de Ubuntu 16.04 con sitecopy.

1 Nota Preliminar

Estoy usando el nombre de usuario till en mi escritorio local de Ubuntu (he iniciado sesión en mi escritorio local de Linux como ese usuario - por favor, no inicies sesión como root). Los archivos para el sitio web remoto example.com están almacenados en el directorio /home/till/sites/example.com/ en la computadora local. La raíz del documento remoto es /var/www/example.com/web/.

Puedes usar sitecopy con FTP y WebDAV, así que deberías tener una cuenta de FTP o WebDAV en el servidor remoto. Estoy usando el nombre de usuario FTP defaulttill y la contraseña howtoforge aquí.

El sitio web remoto que utilizo para estos ejemplos ha sido creado con ISPConfig. Pero cualquier sitio al que tengas acceso FTP o WebDAV funcionará.

2 Instalando sitecopy

Sitecopy se puede instalar en el escritorio local de la siguiente manera (necesitamos privilegios de root, por lo tanto usamos sudo):

sudo apt-get -y install sitecopy

Ahora deberías echar un vistazo a la página del manual de sitecopy para familiarizarte con sus opciones:

man sitecopy

3 Configurando sitecopy

Ve a tu directorio personal en el escritorio local…

cd ~

… y crea el directorio .sitecopy con permisos de 700 (sitecopy usa ese directorio para almacenar detalles de archivos):

mkdir -m 700 .sitecopy

A continuación, crea el archivo de configuración de sitecopy .sitecopyrc:

touch .sitecopyrc  
chmod 600 .sitecopyrc

Abre el archivo…

nano .sitecopyrc

… y completa la configuración para el sitio example.com. Aquí hay dos ejemplos, uno para FTP…

site example.com
  server example.com
  username defaulttill
  password howtoforge
  local /home/till/sites/example.com/
  remote ~/web/
  exclude *.bak
  exclude *~

… y uno para WebDAV:

site example.com
  server example.com
  protocol webdav
  username defaulttill
  password howtoforge
  local /home/till/sites/example.com/
  remote /var/www/example.com/web/
  exclude *.bak
  exclude *~

(Puedes definir una estrofa para cada sitio web que quieras gestionar con sitecopy.)

La directiva site debe ser seguida por un nombre para el sitio web - puedes elegir uno libremente, por ejemplo, example.com o mysite. Este nombre se usará más adelante en los comandos de sitecopy. Las siguientes opciones de configuración que pertenecen a ese sitio deben estar indentadas.

La mayoría de las siguientes opciones de configuración son autoexplicativas. El protocolo predeterminado es FTP; si deseas usar WebDAV, especifica el protocolo webdav. La directiva local contiene la ruta local de la copia del sitio web, remoto contiene la ruta del sitio web en el servidor remoto - puede ser absoluta o relativa. Si tu usuario está chrooted (como suele ser el caso con los usuarios de FTP), deberías usar una ruta relativa (como ~/ o ~/web). De lo contrario, usa una ruta absoluta.

Las líneas de exclusión son opcionales, están aquí solo para demostrar cómo puedes excluir archivos de ser mantenidos por sitecopy.

Puedes encontrar más información sobre la configuración de sitecopy en su página de manual:

man sitecopy

4 Primer Uso

Antes de usar sitecopy por primera vez, debes decidir cuál de los siguientes tres escenarios coincide con tu situación:

  1. Sitio remoto existente y copia local, ambos en sincronía.
  2. Sitio remoto existente, sin copia local.
  3. Nuevo sitio remoto, copia local existente.

4.1 Sitio Remoto Existente y copia local, ambos en sincronía

Si tanto el sitio remoto como la copia local existen y están en sincronía, ejecuta

sitecopy --catchup example.com

para hacer que sitecopy piense que el sitio local es exactamente el mismo que la copia remota. Reemplaza example.com con el nombre del sitio que usas en el archivo .sitecopyrc.

till@ubuntu-desktop:~$ sitecopy --catchup example.com  
sitecopy: Catching up site `example.com' (on example.com in ~/web/)  
sitecopy: All the files and and directories are marked as updated remotely.

4.2 Sitio Remoto Existente, sin copia local

Si no tienes una copia local del sitio web remoto existente, ejecuta

sitecopy --fetch example.com

primero para que sitecopy obtenga la lista de archivos del servidor remoto (reemplaza example.com con el nombre del sitio que usas en el archivo .sitecopyrc):

till@ubuntu-desktop:~$ sitecopy --fetch example.com  
sitecopy: Fetching site `example.com' (on example.com in ~/web/)  
File: error/503.html - size 1906  
File: error/502.html - size 1881  
File: error/500.html - size 1851  
File: error/405.html - size 1810  
File: error/404.html - size 1806  
File: error/403.html - size 1809  
File: error/401.html - size 1806  
File: error/400.html - size 1792  
File: stats/.htaccess - size 128  
File: robots.txt - size 14  
File: index.html - size 1861  
File: favicon.ico - size 7358  
File: .htaccess - size 26  
Directory: error/  
Directory: stats/  
sitecopy: Fetch completed successfully.

Luego ejecuta

sitecopy --synch example.com

para actualizar el sitio local desde la copia remota.

sitecopy: Synchronizing site `example.com' (on example.com in ~/web/)  
Creating error/: done.  
Creating stats/: done.  
Downloading error/503.html: [.] done.  
Downloading error/502.html: [.] done.  
Downloading error/500.html: [.] done.  
Downloading error/405.html: [.] done.  
Downloading error/404.html: [.] done.  
Downloading error/403.html: [.] done.  
Downloading error/401.html: [.] done.  
Downloading error/400.html: [.] done.  
Downloading stats/.htaccess: [.] done.  
Downloading robots.txt: [.] done.  
Downloading index.html: [.] done.  
Downloading favicon.ico: [.] done.  
Downloading .htaccess: [.] done.  
sitecopy: Synchronize completed successfully.

4.3 Nuevo Sitio Remoto, Copia Local Existente

Si la copia local existe, pero tienes un sitio remoto vacío, ejecuta

sitecopy --init example.com

primero para inicializar el sitio. Reemplaza example.com con el nombre del sitio que usas en el archivo .sitecopyrc.

till@ubuntu-desktop:~$ sitecopy --init example.com  
sitecopy: Initializing site `example.com' (on example.com in ~/web/)  
sitecopy: All the files and directories are marked as NOT updated remotely.  
  

Luego ejecuta:

sitecopy --update example.com

para subir la copia local al sitio remoto:

till@ubuntu-desktop:~$ sitecopy --update example.com  
sitecopy: Updating site `example.com' (on example.com in ~/web/)  
Creating stats/: done.  
Creating data/: done.  
Creating error/: done.  
Uploading stats/.htaccess: [.] done.  
Uploading data/index.html: [.] done.  
Uploading error/403.html: [.] done.  
Uploading error/401.html: [.] done.  
Uploading error/404.html: [.] done.  
Uploading error/503.html: [.] done.  
Uploading error/400.html: [.] done.  
Uploading error/502.html: [.] done.  
Uploading error/405.html: [.] done.  
Uploading error/500.html: [.] done.  
Uploading index.html: [.] done.  
Uploading robots.txt: [.] done.  
Uploading .htaccess: [.] done.  
Uploading favicon.ico: [.] done.  
sitecopy: Update completed successfully.

5 Usando sitecopy

Después, el uso de sitecopy es realmente fácil. Puedes trabajar con tu copia local y actualizar, crear y eliminar archivos. Un primer paso, pero opcional, es ejecutar

sitecopy example.com

para averiguar qué archivos han cambiado localmente (reemplaza example.com con el nombre del sitio que usas en el archivo .sitecopyrc):

till@ubuntu-desktop:~$ sitecopy example.com  
sitecopy: Showing changes to site `example.com' (on example.com in ~/web/)  
* Estos elementos han sido añadidos desde la última actualización:  
info.php  
sitecopy: El sitio remoto necesita actualización (1 elemento para actualizar).

Para sincronizar tu sitio web remoto con tu copia local (es decir, subir archivos nuevos y cambiados al servidor remoto y eliminar archivos en el servidor remoto que han sido eliminados localmente), simplemente ejecutas

sitecopy --update example.com
till@ubuntu-desktop:~$ sitecopy --update example.com  
sitecopy: Updating site `example.com' (on example.com in ~/web/)  
Uploading info.php: [] done.  
sitecopy: Update completed successfully.

¡Eso es todo! ¡Diviértete con sitecopy!

6 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.