Sobes.tech
Junior

Quali linguaggi di programmazione usi per automatizzare le attività ripetitive nel tuo lavoro?

sobes.tech AI

Risposta dell'AI

Python. Flessibilità, ricche librerie (os, subprocess, requests, paramiko) e una vasta comunità lo rendono una scelta eccellente per script di automazione di deployment, monitoraggio e gestione dell'infrastruttura.

Bash. Necessario per scrivere script shell, automatizzare compiti da riga di comando, lavorare con file e directory, e integrare vari strumenti in pipeline CI/CD.

Go. Lo uso per scrivere strumenti di automazione più performanti e complessi, microservizi e utilità, dove la velocità di esecuzione e il parallelismo sono importanti.

A volte uso Ruby o Perl per lavorare con sistemi legacy o script scritti in precedenza.

Esempio di automazione in Python:

import subprocess
import os

def deploy_app(server_ip, app_path):
  """
  Distribuisce un'applicazione su un server remoto.
  """
  try:
    # Esempio di comando per scp e ssh
    subprocess.run(["scp", app_path, f"user@{server_ip}:/opt/app/"], check=True)
    subprocess.run(["ssh", f"user@{server_ip}", "sudo systemctl restart myapp"], check=True)
    print(f"Applicazione {app_path} distribuita con successo su {server_ip}")
  except subprocess.CalledProcessError as e:
    print(f"Errore durante la distribuzione: {e}")

# Esempio di chiamata funzione
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")

Esempio di automazione in Bash:

#!/bin/bash

# Pulizia automatica dei log vecchi
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"

# Rimuove i log più vecchi di 7 giorni
eval "${FIND_CMD} -delete" || { echo "Errore durante l'eliminazione dei log"; exit 1; }

echo "Log vecchi eliminati."