Sobes.tech
Junior

Ce limbaje de programare folosești pentru a automatiza sarcinile repetitive în munca ta?

sobes.tech AI

Răspuns de la AI

Python. Flexibilitatea, bibliotecile bogate (os, subprocess, requests, paramiko) și comunitatea largă îl fac o alegere excelentă pentru scripturile de automatizare a implementării, monitorizării și gestionării infrastructurii.

Bash. Esențial pentru scrierea scripturilor shell, automatizarea sarcinilor din linia de comandă, lucrul cu fișiere și directoare, precum și integrarea diverselor instrumente în pipeline-uri CI/CD.

Go. Îl folosesc pentru a scrie instrumente de automatizare mai performante și complexe, microservicii și utilitare, unde viteza de execuție și paralelismul sunt importante.

Uneori folosesc Ruby sau Perl pentru a lucra cu sisteme legacy sau scripturi scrise anterior.

Exemplu de automatizare în Python:

import subprocess
import os

def deploy_app(server_ip, app_path):
  """
  Distribuie o aplicație pe un server remote.
  """
  try:
    # Exemplu de comenzi pentru scp și 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"Aplicația {app_path} a fost distribuită cu succes pe {server_ip}")
  except subprocess.CalledProcessError as e:
    print(f"Eroare la distribuire: {e}")

# Exemplu de apelare a funcției
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")

Exemplu de automatizare în Bash:

#!/bin/bash

# Curățare automată a logurilor vechi
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"

# Șterge logurile mai vechi de 7 zile
eval "${FIND_CMD} -delete" || { echo "Eroare la ștergerea logurilor"; exit 1; }

echo "Logurile vechi au fost șterse."