Sobes.tech
Junior

Milliseid programmeerimiskeeli kasutate oma töö rutiinsete ülesannete automatiseerimiseks?

sobes.tech AI

Vastus AI-lt

Python. Paindlikkus, rikkalikud teekogud (os, subprocess, requests, paramiko) ja suur kogukond teevad sellest suurepärase valiku automatiseerimisstsenaariumideks, nagu juurutamine, jälgimine ja infrastruktuuri haldamine.

Bash. Vajalik shell-skriptide kirjutamiseks, käsurea ülesannete automatiseerimiseks, failide ja kataloogidega töötamiseks ning erinevate tööriistade integreerimiseks CI/CD voogudesse.

Go. Kasutan selleks, et kirjutada tõhusamaid ja keerukamaid automatiseerimisvahendeid, mikroteenuseid ja utiliite, kus oluline on täitmise kiirus ja paralleelsus.

Mõnikord kasutan Ruby või Perl legacy-süsteemide või varasemate skriptide töötlemiseks.

Näide Pythonis tehtavast automatiseerimisest:

import subprocess
import os

def deploy_app(server_ip, app_path):
  """
  Juurutab rakenduse kaugserverile.
  """
  try:
    # Näide käskudest scp ja ssh kasutamiseks
    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"Rakendus {app_path} edukalt juurutatud aadressile {server_ip}")
  except subprocess.CalledProcessError as e:
    print(f"Juhtus viga juurutamisel: {e}")

# Näide funktsiooni kutsumisest
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")

Näide Bashis tehtavast automatiseerimisest:

#!/bin/bash

# Automaatne vana logide puhastamine
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"

# Vanemate logide kustutamine üle 7 päeva vanuselt
eval "${FIND_CMD} -delete" || { echo "Viga logide kustutamisel"; exit 1; }

echo "Vana logid on puhastatud."