Noticias
n8n ya está disponible en el Serverspace panel de control como un 1-Click App
Serverspace Black Friday
BK
Octubre 11, 2025
Actualizado el 11 de octubre de 2025

Linux para DevOps: Automatización y seguridad

Linux

En la era moderna de DevOps, la automatización Linux Los sistemas se vuelven cruciales para garantizar la confiabilidad, la escalabilidad y la seguridad de la infraestructura de TI. Este artículo presenta un enfoque integral para la automatización avanzada en Linux máquinas virtuales en el Serverspace nube, que cubre cinco áreas clave: métodos modernos de programación de trabajos en transición de cron a systemd-timer, administración de recursos en la nube a través de API, contenerización con Docker Enjambre, monitorización a nivel de kernel mediante eBPF y copias de seguridad robustas en almacenamiento compatible con S3. Cada sección incluye instrucciones detalladas paso a paso, scripts listos para usar y recomendaciones prácticas basadas en las mejores prácticas de DevOps más recientes.

1_y8RXqoTRK3mufilx3E4fxg

Automatización de la programación de tareas

Transición de cron a systemd-timer: un enfoque de programación moderno

El cron tradicional, a pesar de su uso generalizado, tiene una serie de limitaciones en los sistemas modernos. Linux sistemas. Systemd-timer ofrece una alternativa más avanzada con registro mejorado, capacidades de programación flexibles e integración nativa con el ecosistema systemd.

Cómo: Convertir un trabajo cron en un temporizador systemd

Paso 1. Crear el script de tarea

#!/usr/bin/env bash
rsync -a /var/www/ /backup/www-$(date +%F)/

Establecer permisos:

chmod 755 /usr/local/bin/backup.sh

Pasted image 20251007142729

Paso 2. Crear el archivo de la unidad de servicio

[Unit]
Description=Backup /var/www to local folder

[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh

Pasted image 20251007142859

Paso 3. Crear el archivo de la unidad de temporizador

[Unit]
Description=Run backup daily at 2 AM

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

Pasted image 20251007142945

Paso 4. Habilite el servicio y el temporizador

sudo systemctl daemon-reload
sudo systemctl enable --now backup.timer

Pasted image 20251007143039

Paso 5. Verificar el funcionamiento

systemctl list-timers backup.timer
journalctl -u backup.service --since today

Pasted image 20251007143100

Pasted image 20251007143129

maxresdefault

Las principales ventajas de systemd-timer incluyen el registro automático en journalctl, la recuperación de eventos omitidos y la gestión declarativa de dependencias. Los administradores de sistemas modernos utilizan cada vez más systemd-timer para tareas críticas gracias a su fiabilidad e integración con los servicios del sistema.

Verifique la sintaxis de la programación utilizando la herramienta incorporada:

systemd-analyze calendar "*-*-* 02:00:00"

Pasted image 20251007143205

Preguntas frecuentes sobre systemd-timer

Q: ¿Por qué el temporizador no se activa exactamente a las 02:00?
A: Las posibles causas incluyen un registro systemd completo o una hora del sistema no sincronizada. Asegúrese de que la configuración de NTP sea correcta y utilice el Persistent=true opción. systemd también puede agregar un retraso aleatorio para evitar la ejecución simultánea de muchos temporizadores.

Q: ¿Cómo migrar trabajos cron complejos?
A: Para scripts complejos, cree archivos de unidad de servicio separados con directivas de dependencia como After=, Requires= o Wants= para garantizar el orden de ejecución correcto.

Detalles técnicos: systemd-timer

  • Depuración: systemctl status <timer>.timer, systemctl list-timers.
  • Pruebas programadas: systemd-analyze calendar.
  • Escalonar ejecuciones simultáneas: RandomizedDelaySec=30.

Scripts de gestión de la nube

API automatización en el Serverspace ecosistema

Serverspace Proporciona un potente RESTful API para el control programático de los recursos en la nube. API compatible con el estándar HTTP métodos (GET, POST, PUT, DELETE) y utiliza JSON para el intercambio de datos, lo que permite la creación, configuración y eliminación automatizadas de máquinas virtuales sin intervención manual.

Cómo: crear y eliminar máquinas virtuales automáticamente mediante API

Paso 1. Almacene su token de forma segura


echo "YOUR_TOKEN" > /root/.serverspace_token
chmod 600 /root/.serverspace_token

Pasted image 20251007143445

Paso 2. Script del administrador

#!/usr/bin/env bash
set -euo pipefail

TOKEN=$(< /root/.serverspace_token)
ACTION=${1:-}
NAME=${2:-}

if [[ -z $ACTION || -z $NAME  ]]; then
echo "Usage: $0 {create|delete} <vm-name>"
exit 1
fi

API="https://api.serverspace.io/api/v1"

if [[ $ACTION == "create"  ]]; then
curl -X POST \
"$API/servers" \
-H "content-type: application/json" \
-H "x-api-key: $TOKEN" \
-d '{
"location_id": "am2",
"cpu": 1,
"ram_mb": 2048,
"image_id": "Debian-12-X64",
"name": "'"$NAME"'",
"networks": [{"bandwidth_mbps": 50}],
"volumes": [{"name": "boot", "size_mb": 51200}],
"ssh_key_ids": ['Your ID SSH-key']

}'

elif [[ $ACTION == "delete"  ]]; then

VM_ID=$(curl -s "$API/servers?name=$NAME" -H "x-api-key: $TOKEN" | jq -r '.servers[^0].id // empty')

if [[ -z "$VM_ID"  ]]; then
echo "VM with name '$NAME' not found"
exit 1
fi
curl -X DELETE "$API/servers/$VM_ID" -H "x-api-key: $TOKEN"

fi

Pasted image 20251007154150

Paso 3. Programar la ejecución periódica

0 6 * * * /usr/local/bin/vm_manager.sh create auto-vm-$(date +\%Y\%m\%d) >> /var/log/vm_manager.log 2>&1

Pasted image 20251007154308

Cloud API Preguntas Frecuentes

Q: ¿Cómo almacenar el token de forma segura?
A: Utilice un archivo con permisos 600, evite el control de código fuente. Léalo usando $(< file).

Detalles técnicos: Serverspace API

  • Manejo de errores: comprobar HTTP códigos de estado, analizar JSON con jq.
  • Paginación: seguir la next .
  • Limitación de velocidad: implementar retroceso exponencial.

Contenerización y redes

Docker Redes de enjambre y superpuestas

Docker Swarm ofrece orquestación de contenedores integrada compatible con redes superpuestas. Estas redes crean una capa de red virtual entre hosts físicos mediante VXLAN para la encapsulación del tráfico.

Cómo: Implementación automatizada de redes superpuestas

Paso 1. Inicializar Swarm


docker swarm init

Pasted image 20251007155740

Paso 2. Script de creación de red


#!/usr/bin/env bash
docker network create -d overlay --attachable app_net || echo "Network exists"

Pasted image 20251007155940

Paso 3. Archivo de unidad systemd


[Unit]
Description=Create Docker overlay network
After=docker.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/setup_overlay.sh

[Install]
WantedBy=multi-user.target

Pasted image 20251007160024

Paso 4. Habilitar la unidad


sudo systemctl daemon-reload
sudo systemctl enable --now setup_overlay.service

Preguntas frecuentes sobre Swarm

Q: ¿Por qué la red superpuesta no aparece en los nodos de trabajo?
A: Asegúrese de que los puertos TCP 2377, 7946 y los puertos UDP 7946, 4789 estén abiertos y que todos los nodos estén en el mismo Swarm.

Pasted image 20251007161049

Detalles técnicos: Superposición de enjambre

  • Diagnósticos: docker node ls, docker network inspect, ip -d link show.
  • Docker registros: journalctl -u docker.service --since today.
  • Cifrado de superposición: --opt encrypted (IPsec para VXLAN).

Monitoreo a nivel de kernel con eBPF

eBPF: monitoreo de llamadas al sistema

eBPF permite la ejecución segura de programas dentro del espacio del kernel para el monitoreo de llamadas del sistema de alta fidelidad con una sobrecarga mínima.

Cómo: Recopilación automatizada de métricas

Paso 1. Instalar dependencias

sudo apt install bpfcc-tools linux-headers-$(uname -r)

Paso 2. Guión de recopilación


#!/usr/bin/env bash
DURATION=60
LOGFILE="/var/log/execsnoop-$(date +%F_%H%M%S).log"
sudo execsnoop -t $DURATION > $LOGFILE

Paso 3. Programe una ejecución periódica


*/5 * * * * /usr/local/bin/monitor_execs.sh

Preguntas frecuentes sobre eBPF

Q: ¿Cómo gestionar el volumen de registro?
A: Utilice logrotate, por ejemplo, en /etc/logrotate.d/execsnoop:


/var/log/execsnoop-*.log {
daily
rotate 7
compress
missingok
notifempty
}

Detalles técnicos: eBPF

  • Filtración: execsnoop -u www-data.
  • Rastreos de pila: execsnoop --stack.
  • Reenvío de registros: logger -t execsnoop < $LOGFILE.

Copia de seguridad y recuperación

Copia de seguridad incremental en almacenamiento compatible con S3

Paso 1. Instalar AWS CLI y configurar el perfil


sudo apt install awscli
aws configure --profile serverspace

Paso 2. Script de respaldo


#!/usr/bin/env bash
SRC="/var/www"
DEST="s3://my-serverspace-bucket/$(hostname)"
aws s3 sync "$SRC" "$DEST" \
--profile serverspace \
--storage-class STANDARD_IA \
--delete

Paso 3. Temporizador systemd


[Unit]
Description=Incremental backup to S3

[Service]
Type=oneshot
ExecStart=/usr/local/bin/incremental_backup.sh


[Unit]
Description=Run incremental backup hourly

[Timer]
OnCalendar=hourly
Persistent=true

[Install]
WantedBy=timers.target

Preguntas frecuentes sobre copias de seguridad

Q: ¿Cómo verificar la integridad?
A: Ejecutar aws s3 sync --dryrun y comparar con aws s3 ls.

Detalles técnicos: Copia de seguridad S3

  • Paralelismo: aws configure set default.s3.max_concurrent_requests 20.
  • Limitación: uso --no-progress y ajustar la concurrencia.
  • Rotación de claves: rotar periódicamente las claves de acceso.

La transición de cron a systemd-timer ofrece un registro y una confiabilidad mejorados. API automatización en Serverspace minimiza las operaciones manuales. Docker Swarm con redes superpuestas escala los microservicios. eBPF permite la monitorización de kernel de alto rendimiento. Las copias de seguridad incrementales de S3 ahorran ancho de banda y tiempo. La integración de estas tecnologías crea un ecosistema DevOps robusto, seguro y escalable.

Se recomienda probar todos los scripts en un Serverspace VM, adáptelas a su infraestructura e intégrelas en sus pipelines de CI/CD. Una lista de verificación final del libro electrónico.Linux para DevOps en Serverspace” está previsto que incluya todos los ejemplos y las mejores prácticas.

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

También le podría interesar...

Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Política de privacidad.