Sobes.tech
Junior

Ishingizda takroriy vazifalarni avtomatlashtirish uchun qanday dasturlash tillaridan foydalanasiz?

sobes.tech AI

AIdan javob

Python. Elastiklik, boy liboslar (os, subprocess, requests, paramiko) va keng jamoatchilik uni avtomatlashtirish, monitoring va infratuzilmani boshqarish uchun ajoyib tanlov qiladi.

Bash. Shell skriptlarini yozish, buyruq satri vazifalarini avtomatlashtirish, fayllar va kataloglar bilan ishlash hamda turli vositalarni CI/CD pipeline'lariga integratsiya qilish uchun zarur.

Go. Men uni yanada samarali va murakkab avtomatlashtirish vositalari, mikroservislar va utilitalar yozish uchun ishlataman, bu yerda bajarilish tezligi va parallelizm muhim.

Ba'zan, eski tizimlar yoki ilgari yozilgan skriptlar bilan ishlash uchun Ruby yoki Perl dan foydalanaman.

Python bilan avtomatlashtirish misoli:

import subprocess
import os

def deploy_app(server_ip, app_path):
  """
  Uygulmani masofaviy serverga joylashtiradi.
  """
  try:
    # scp va ssh buyruqlari misoli
    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"Uygulama {app_path} muvaffaqiyatli {server_ip} ga joylashtirildi")
  except subprocess.CalledProcessError as e:
    print(f"Joylashtirishda xato: {e}")

# Funksiyani chaqirish misoli
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")

Bash bilan avtomatlashtirish misoli:

#!/bin/bash

# Eski loglarni avtomatik tozalash
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"

# 7 kundan eski loglarni o'chirish
eval "${FIND_CMD} -delete" || { echo "Xato: loglar o'chirilmadi"; exit 1; }

echo "Eski loglar o'chirildi."