0Pricing
DevOps Bootcamp · Ders

Sistem Yönetimini Otomatikleştirme

Yedekleme, günlük döndürme ve izleme gibi yaygın sistem yönetimi görevlerini otomatikleştirmek için Bash betiklerini uygulayın.

Sistem Yönetimini Otomatikleştirme, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.

Sistem Yöneticiliği Otomasyonuna Giriş

Hoş geldiniz! Bu derste yaygın sistem yöneticiliği görevlerini Bash betiklerini kullanarak otomatikleştirmeyi inceleyeceğiz. Betik yazma becerilerinizin gerçekten parladığı yer burasıdır!

Otomasyon, sistem yönetimini daha verimli ve tutarlı hâle getirir ve insan hatasına daha az açık olmasını sağlar. Bu, her geliştirici veya IT uzmanı için önemli bir beceridir.

Sistem Yöneticiliği Görevleri Neden Otomatikleştirilir?

Tekrarlanan görevleri otomatikleştirmek önemli yararlar sağlar:

  • Verimlilik: Görevler daha hızlı ve elle müdahale gerektirmeden çalışır.
  • Tutarlılık: Görevlerin her seferinde aynı şekilde gerçekleştirilmesini sağlayarak hataları azaltır.
  • Güvenilirlik: Betikler, siz orada olmasanız bile güvenilir biçimde çalışacak şekilde zamanlanabilir.
  • Ölçeklenebilirlik: Aynı işlemleri birçok sisteme kolayca uygulayabilirsiniz.

Yaygın Otomasyon Hedefleri

Birçok sistem yöneticiliği görevi otomasyon için uygundur:

  • Yedeklemeler: Önemli verilerin düzenli olarak kopyalanması.
  • Günlük Yönetimi: Eski günlüklerin temizlenmesi veya döndürülmesi.
  • Sistem İzleme: Disk alanının, CPU'nun ve bellek kullanımının denetlenmesi.
  • Kullanıcı Yönetimi: Kullanıcı hesaplarının oluşturulması veya silinmesi.
  • Yazılım Güncellemeleri: Paketlerin güncel tutulması.

Basit Bir Yedekleme Betiği Yazma

En kritik görevlerden biri verileri yedeklemektir. Temel bir yedekleme betiği, belirli dosyaları veya dizinleri genellikle zaman damgasıyla birlikte güvenli bir konuma kopyalayabilir.

Benzersiz yedekleme dizinleri oluşturmak için cp komutunu date komutuyla birlikte kullanabiliriz.

Çalıştırma: Günlük Veri Yedekleme

Bu betik, my_data dizininin zaman damgalı bir yedeğini backups klasörüne oluşturur. Betiği sınamak için /path/to/my_data ifadesini sisteminizdeki gerçek bir dizinle değiştirmeyi unutmayın.

#!/bin/bash

SOURCE_DIR="/tmp/my_data"
BACKUP_DIR="/tmp/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)

mkdir -p "$SOURCE_DIR"
echo "Hello from CoddyKit!" > "$SOURCE_DIR/file1.txt"
echo "More data." > "$SOURCE_DIR/file2.txt"

mkdir -p "$BACKUP_DIR"

# Perform the backup
cp -r "$SOURCE_DIR" "$BACKUP_DIR/backup_$TIMESTAMP"

echo "Backup created at: $BACKUP_DIR/backup_$TIMESTAMP"

Günlük Temizlemeyi Otomatikleştirme

Günlük dosyaları hızla büyüyebilir ve önemli miktarda disk alanı tüketebilir. Bunların temizlenmesini veya döndürülmesini otomatikleştirmek sistem sağlığı açısından zorunludur.

Eski günlük dosyalarını bulup silmek veya bir arşive taşımak için find komutunu kullanabiliriz.

Çalıştırma: Eski Günlükleri Kaldırma

Bu betik, belirtilen bir dizindeki 7 günden eski günlük dosyalarını siler. Gerçek betiklerde rm kullanırken dikkatli olun!

#!/bin/bash

LOG_DIR="/tmp/app_logs"

mkdir -p "$LOG_DIR"
touch "$LOG_DIR/today.log"
touch -d "8 days ago" "$LOG_DIR/old_log_1.log"
touch -d "5 days ago" "$LOG_DIR/recent.log"
touch -d "10 days ago" "$LOG_DIR/old_log_2.log"

echo "Logs before cleanup:"
ls -l "$LOG_DIR"

# Find and delete log files older than 7 days
find "$LOG_DIR" -type f -name "*.log" -mtime +7 -delete

echo "\nLogs after cleanup:"
ls -l "$LOG_DIR"

Disk Kullanımını İzleme

Kesintileri önlemek için disk alanı gibi sistem kaynaklarını izlemek çok önemlidir. Bir betik, kullanımı belirli aralıklarla denetleyebilir ve bir eşik değeri aşılırsa sizi uyarabilir.

df komutu, dosya sistemi disk alanı kullanımını bildirir. Yalnızca yüzdeyi almak için çıktısını ayrıştırabiliriz.

Çalıştırma: Disk Alanı Uyarısı

Bu betik, kök dosya sisteminin (/) disk kullanımını denetler ve kullanım %80'in üzerindeyse bir uyarı yazdırır. THRESHOLD değerini değiştirebilirsiniz.

#!/bin/bash

THRESHOLD=80

# Get disk usage percentage for root filesystem
USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')

# Check if usage exceeds threshold
if (( USAGE > THRESHOLD )); then
  echo "WARNING: Disk usage on / is at ${USAGE}%!"
else
  echo "Disk usage on / is ${USAGE}%. All good!"
fi

Sistem Yöneticiliği Betikleri İçin En İyi Uygulamalar

Otomasyon betikleri yazarken şu en iyi uygulamaları göz önünde bulundurun:

  • Hata Yönetimi: Hata durumunda çıkmak için set -e kullanın ve açık hata denetimleri ekleyin.
  • Günlük Kaydı: Denetim ve hata ayıklama amacıyla betik çıktısını günlük dosyalarına yönlendirin.
  • İdempotentlik: Betikleri birden çok kez çalıştırmanın, bir kez çalıştırmakla aynı etkiyi oluşturacağı şekilde tasarlayın.
  • Yapılandırma: Kolayca değiştirilebilen değerler için değişkenler veya ayrı yapılandırma dosyaları kullanın.
  • İzinler: Betiklerin doğru çalıştırma izinlerine sahip olduğundan emin olun (chmod +x).

Sistem Yöneticiliği Denetimini Otomatikleştirme

Aşağıdaki görevlerden hangileri, sistem yöneticiliğinde Bash betikleri kullanılarak otomasyon için uygundur?

Özet: Sistem Yöneticiliği Görevlerini Otomatikleştirme

Harika iş çıkardınız! Bash betiklerinin sistem yöneticiliği görevlerini nasıl dönüştürebileceğini öğrendiniz.

Yedeklemeleri, günlük temizliğini ve disk kullanımı izlemeyi otomatikleştirmeyi ele aldık. Sağlam ve güvenilir otomasyon betikleri oluşturmak için hata yönetimi ve günlük kaydı gibi en iyi uygulamaları hayata geçirmeyi unutmayın.

Bu beceriler, sağlıklı ve verimli sistemleri sürdürmek için çok değerlidir!

Sıkça Sorulan Sorular

“Sistem Yönetimini Otomatikleştirme” dersi ücretsiz mi?

Evet — “Sistem Yönetimini Otomatikleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.

“Sistem Yönetimini Otomatikleştirme” dersinde ne öğreneceğim?

Yedekleme, günlük döndürme ve izleme gibi yaygın sistem yönetimi görevlerini otomatikleştirmek için Bash betiklerini uygulayın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Sistem Yönetimini Otomatikleştirme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?

Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Cron ile Görev Zamanlama
  2. Sistem Yönetimini Otomatikleştirme
  3. İleri Düzey Betik Projesi
  4. Otomatik Günlük Döndürme ve Temizleme
← DevOps Bootcamp Sayfasına Dön