Sobes.tech
Junior

İşinizde rutin görevleri otomatikleştirmek için hangi programlama dillerini kullanıyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Python. Esneklik, zengin kütüphaneler (os, subprocess, requests, paramiko) ve geniş topluluğu sayesinde dağıtım otomasyonu, izleme ve altyapı yönetimi betikleri için mükemmel bir seçimdir.

Bash. Kabuk betikleri yazmak, komut satırı görevlerini otomatikleştirmek, dosya ve dizinlerle çalışmak ve çeşitli araçları CI/CD boru hatlarına entegre etmek için gereklidir.

Go. Daha verimli ve karmaşık otomasyon araçları, mikroservisler ve yardımcı programlar yazmak için kullanıyorum; burada hız ve paralellik önemlidir.

Bazen, eski sistemlerle veya önceden yazılmış betiklerle çalışmak için Ruby veya Perl kullanıyorum.

Python ile otomasyon örneği:

import subprocess
import os

def deploy_app(server_ip, app_path):
  """
  Uygulamayı uzak bir sunucuya dağıtır.
  """
  try:
    # scp ve ssh komutları örneği
    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} başarıyla {server_ip} üzerine dağıtıldı")
  except subprocess.CalledProcessError as e:
    print(f"Dağıtım sırasında hata: {e}")

# Fonksiyon çağrısı örneği
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")

Bash ile otomasyon örneği:

#!/bin/bash

# Eski logların otomatik temizlenmesi
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"

# 7 günden eski logları sil
eval "${FIND_CMD} -delete" || { echo "Hata: loglar silinemedi"; exit 1; }

echo "Eski loglar silindi."