Comandos útiles del día a día en un VPS
Una docena de comandos resuelven casi todo el trabajo cotidiano en un servidor: find para buscar y borrar, du y ncdu para ver qué ocupa lugar, tar para comprimir, rsync para copiar, systemd para que algo arranque solo y unas líneas en ~/.ssh/config para que la conexión sea instantánea. El único que pide cuidado es find con -delete: conviene correrlo primero sin borrar nada, mirar la lista y después sí.
Buscar y borrar, en dos pasos
La regla que evita el desastre: primero listar, después borrar. El mismo comando, con y sin -delete.
find /home/usuario -name "*.log" -mtime +30 # listar
find /home/usuario -name "*.log" -mtime +30 -delete # borrar-namebusca por nombre,-inamesin distinguir mayúsculas.-mtime +30son los modificados hace más de 30 días.-size +100Mfiltra por tamaño.-type fsolo archivos,-type dsolo carpetas.
Qué está ocupando el disco
du -sh /home/* | sort -h | tail -10
ncdu /homeEl primero lista las diez carpetas más pesadas. ncdu es interactivo y permite recorrer el árbol: si no está instalado, apt install -y ncdu o dnf install -y ncdu.
Comprimir y copiar
tar -czf sitio-$(date +%F).tar.gz public_html
rsync -avz --progress carpeta/ root@IP:/destino/rsync se puede interrumpir y retomar, y solo copia lo que cambió: para mover sitios grandes es siempre mejor que scp.
Optimizar imágenes desde la consola
Un sitio lento por imágenes pesadas se arregla en un comando. Con jpegoptim y optipng:
apt install -y jpegoptim optipng
find . -name "*.jpg" -exec jpegoptim --max=82 --strip-all {} \;
find . -name "*.png" -exec optipng -o2 {} \;Hacé una copia antes: la optimización es destructiva. Y si el sitio es WordPress, conviene además servir WebP o AVIF, que pesan bastante menos.
Que algo arranque con el servidor
Los artículos viejos usan rc.local. Hoy corresponde una unidad de systemd, que además reinicia el proceso si se cae:
[Unit]
Description=Mi proceso
After=network.target
[Service]
ExecStart=/usr/bin/node /opt/app/server.js
Restart=always
User=app
[Install]
WantedBy=multi-user.targetSe guarda en /etc/systemd/system/miproceso.service y se activa con systemctl daemon-reload && systemctl enable --now miproceso.
Que el SSH conecte al instante
Si cada conexión tarda varios segundos, casi siempre es la resolución inversa o la negociación de métodos de autenticación. En tu computadora, en ~/.ssh/config:
Host *
ServerAliveInterval 60
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 10mCon eso, la segunda conexión al mismo servidor reutiliza la primera y abre al instante. Del lado del servidor, UseDNS no en sshd_config evita la espera por resolución inversa.
Preguntas frecuentes
¿Cómo borro archivos viejos sin equivocarme?
Corré el find sin -delete, revisá la lista completa y recién entonces agregá el borrado. Si son muchos, guardá la lista en un archivo antes.
Se llenó el disco y no encuentro con qué
ncdu / recorre todo y muestra el tamaño por carpeta. Los sospechosos habituales son /var/log, los respaldos y las carpetas de caché de los sitios.
¿`rsync` o `scp`?
rsync para cualquier cosa que no sea un archivo suelto: retoma, compara y muestra el progreso.
¿Por qué mi SSH tarda en conectar?
Suele ser la resolución inversa del servidor. UseDNS no en sshd_config y la reutilización de conexión del lado del cliente lo resuelven.
¿Conviene optimizar imágenes en el servidor o antes de subirlas?
Antes es mejor, porque no gasta recursos del servidor. Para un sitio que ya está en producción con miles de imágenes, el comando resuelve en minutos lo que a mano no se hace nunca.
Seguí leyendo
Discos y particiones en Linux: LVM, más de 2 TB y unidades externas
Agregar un disco a un VPS, ampliar un volumen LVM sin reiniciar, usar GPT para discos grandes y montar unidades NTFS o USB en un servidor.
Cómo ampliar el disco de tu VPS después de cambiar de plan
Pasaste a un plan con más disco y df no muestra el espacio nuevo: cómo agrandar la partición con growpart y el sistema de archivos, con LVM o sin él.
Monitorear un VPS: métricas, alertas y estadísticas del sitio
Qué mirar, con qué herramientas hoy, cómo recibir un aviso antes de que el servidor se caiga y qué reemplaza a Nagios, MRTG y Webalizer.