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."