Sobes.tech
Junior

Kokias programavimo kalbas naudojate rutininėms užduotims automatizuoti savo darbe?

sobes.tech AI

Atsakymas iš AI

Python. Lankstumas, turtingos bibliotekos (os, subprocess, requests, paramiko) ir plačioji bendruomenė daro jį puikiu pasirinkimu automatizavimo scenarijams, diegimui, stebėjimui ir infrastruktūros valdymui.

Bash. Būtinas rašyti shell scenarijus, automatizuoti komandų eilutės užduotis, dirbti su failais ir katalogais bei integruoti įvairius įrankius į CI/CD pipelines.

Go. Naudoju jį rašyti efektyvesnius ir sudėtingesnius automatizavimo įrankius, mikroservisus ir naudingus įrankius, kur svarbi vykdymo greitis ir paralelizmas.

Kartais naudoju Ruby ar Perl darbui su legacy sistemomis arba anksčiau parašytais scenarijais.

Python automatinio scenarijaus pavyzdys:

import subprocess
import os

def deploy_app(server_ip, app_path):
  """
  Diegia programą nuotoliniame serveryje.
  """
  try:
    # scp ir ssh komandų pavyzdys
    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"Programėlė {app_path} sėkmingai įdiegta {server_ip}")
  except subprocess.CalledProcessError as e:
    print(f"Klaida diegiant: {e}")

# Funkcijos kvietimo pavyzdys
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")

Bash automatizavimo pavyzdys:

#!/bin/bash

# Automatinis senų logų išvalymas
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"

# Ištrinti logus, senesnius nei 7 dienos
eval "${FIND_CMD} -delete" || { echo "Klaida išvalant logus"; exit 1; }

echo "Seno logai išvalyti."