1. Otomatik Yedekleme Sistemi
#!/bin/bash
# Yedekleme dizini
backup_dir="/path/to/backup"
# Kaynak dosyalar
source_dir="/home/user/documents"
# Yedekleme dosya adı
backup_name="backup_$(date +\%F).tar.gz"
# Yedekleme işlemi
tar -czf $backup_dir/$backup_name $source_dir
echo "Yedekleme başarılı!"
Bu script, her seferinde yeni bir yedekleme dosyası oluşturur ve eski dosyaların üzerine yazmaz. Artık dosyalarınız güvende!
2. E-posta İle Uyarı Gönderen Script
#!/bin/bash
# Disk kullanımını kontrol et
disk_usage=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
# Eğer disk %90'ın üzerindeyse uyarı gönder
if [ $disk_usage -gt 90 ]; then
echo "Disk kullanımınız %$disk_usage, lütfen müdahale edin!" | mail -s "Disk Uyarısı" your-email@example.com
fi
Bu script, disk kullanımını %90'ın üzerinde olduğunda e-posta gönderir. Herhangi bir sorun oluştuğunda, hemen haberdar olabilirsiniz.
3. Sunucu Sağlık Durumu İzleyici Script
#!/bin/bash
# CPU ve bellek kullanımını kontrol et
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
memory_usage=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
# Eşik değerleri
cpu_threshold=80
memory_threshold=80
# Uyarılar
if (( $(echo "$cpu_usage > $cpu_threshold" | bc -l) )); then
echo "Uyarı! CPU kullanımı %$cpu_usage" | mail -s "CPU Uyarısı" your-email@example.com
fi
if (( $(echo "$memory_usage > $memory_threshold" | bc -l) )); then
echo "Uyarı! Bellek kullanımı %$memory_usage" | mail -s "Bellek Uyarısı" your-email@example.com
fi
Bu script, sistemin sağlığını izler ve CPU veya bellek kullanımı yüksekse sizi hemen bilgilendirir.
4. İnternet Hız Testi Otomasyonu
#!/bin/bash
# İnternet hızını test et ve kaydet
speedtest-cli --simple > /path/to/speedtest_result.txt
echo "İnternet hız testi tamamlandı ve sonuç kaydedildi!"
Bu şekilde, internet hızınızı belirli aralıklarla otomatik olarak test edebilir ve her testin sonucunu kaydedebilirsiniz.
5. Dosya İzinlerini Düzenleyen Script
#!/bin/bash
# Dosya izinlerini düzenle
chmod 755 /path/to/file
echo "Dosya izinleri başarıyla güncellendi!"
Bu script, belirtilen dosyaların izinlerini 755 olarak ayarlar. Güvenlik için dosya izinlerinin doğru şekilde yapılandırıldığından emin olabilirsiniz.
6. Dizin Boyutunu Görselleştiren Script
#!/bin/bash
# Dizin boyutlarını listele
du -sh /path/to/directory/* | sort -rh
echo "Dizin boyutları sıralandı!"
Bu komut, belirtilen dizindeki alt dizinlerin boyutlarını listeler ve en büyükten en küçüğe doğru sıralar. Bu sayede hangi dizinlerin fazla yer kapladığını kolayca görebilirsiniz.
7. Zamanlanmış Görevler İçin Bash Script Otomasyonu
#!/bin/bash
# Yedekleme script'i
/path/to/backup_script.sh
echo "Yedekleme işlemi başarılı!"
Bu script'i crontab'a ekleyerek belirli saatlerde otomatik çalıştırabilirsiniz.
Sonuç
Umarım bu projeler ilham verici olmuştur! Unutmayın, Linux dünyası sınırsızdır ve hayal gücünüzle yapabileceklerinizin sınırı yok!