Sobes.tech
Junior

Koje programske jezike koristite za automatizaciju rutinskih zadataka na svom poslu?

sobes.tech АИ

Одговор од АИ

Python. Fleksibilnost, bogate biblioteke (os, subprocess, requests, paramiko) i široka zajednica čine ga odličnim izborom za skripte za automatizaciju implementacije, nadgledanja i upravljanja infrastrukturom.

Bash. Neophodan za pisanje shell skripti, automatizaciju zadataka komandne linije, rad sa fajlovima i direktorijumima, kao i integraciju raznih alata u CI/CD pipeline-ove.

Go. Koristim ga za pisanje efikasnijih i složenijih alata za automatizaciju, mikroservisa i utiliteta, gde je važna brzina izvršenja i paralelizam.

Ponekad koristim Ruby ili Perl za rad sa legacy sistemima ili skriptama napisanih ranije.

Primer automatizacije u Python-u:

import subprocess
import os

def deploy_app(server_ip, app_path):
  """
  Deploy-uje aplikaciju na udaljeni server.
  """
  try:
    # Primer komandi za 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"Aplikacija {app_path} uspešno deploy-ovana na {server_ip}")
  except subprocess.CalledProcessError as e:
    print(f"Greška pri deploy-u: {e}")

# Primer poziva funkcije
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")

Primer automatizacije u Bash-u:

#!/bin/bash

# Automatsko brisanje starih logova
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"

# Brisanje logova starijih od 7 dana
eval "${FIND_CMD} -delete" || { echo "Greška pri brisanju logova"; exit 1; }

echo "Stari logovi su obrisani."