Sistem Yönetimi Başlangıç

Sistem Bilgisi Görüntüleyici

Linux sisteminizdeki donanım ve yazılım bilgilerini detaylı bir şekilde görüntüleyen kapsamlı script. CPU, RAM, disk kullanımı, işletim sistemi versiyonu ve daha fazlasını gösterir.

Yayınlanma: 15.01.2024 Güncellenme: 01.12.2024

Detaylı Bilgi

Bu script, Linux sisteminizdeki tüm kritik sistem bilgilerini toplayarak düzenli ve okunabilir bir formatta sunar. Sistem yöneticileri, DevOps mühendisleri ve IT profesyonelleri için vazgeçilmez bir araçtır.

Script Ne İşe Yarar?

Bu script, sisteminizin donanım ve yazılım durumunu hızlıca analiz eder. CPU, RAM, disk kullanımı, ağ bilgileri ve sistem çalışma süresi gibi kritik metrikleri tek bir komutla gösterir. Özellikle sunucu yönetimi, performans analizi ve sorun giderme işlemlerinde çok faydalıdır.

Hangi Bilgileri Gösterir?

  • Hostname: Sistemin ağ üzerindeki adı
  • İşletim Sistemi: OS adı, versiyon, kernel versiyonu ve mimari
  • CPU Bilgileri: İşlemci modeli, çekirdek sayısı ve anlık kullanım yüzdesi
  • Bellek (RAM): Toplam, kullanılan, boş bellek ve kullanım yüzdesi
  • Disk Kullanımı: Tüm mount edilmiş disklerin kullanım durumu
  • Ağ Bilgileri: Sistemin IP adresi
  • Uptime: Sistemin ne kadar süredir çalıştığı
  • Load Average: Sistem yük ortalamaları (1, 5, 15 dakika)
  • Son Girişler: Son 5 kullanıcı giriş kaydı

Neden Kullanmalısınız?

Bu script sayesinde sistem durumunuzu hızlıca kontrol edebilir, performans sorunlarını tespit edebilir ve sistem dokümantasyonu oluşturabilirsiniz. Özellikle birden fazla sunucu yönetiyorsanız, her sunucunun durumunu hızlıca görmek için bu scripti kullanabilirsiniz.

Nasıl Kullanılır?

Adım Adım Kullanım Kılavuzu

1. Script Dosyasını Oluşturun

Öncelikle scripti bir dosyaya kaydedin. Örneğin system_info.sh adında bir dosya oluşturun:

nano system_info.sh

Script kodunu bu dosyaya yapıştırın ve kaydedin (Ctrl+X, sonra Y, sonra Enter).

2. Scripti Çalıştırılabilir Yapın

Scripti çalıştırabilmek için çalıştırma izni vermeniz gerekir:

chmod +x system_info.sh

3. Scripti Çalıştırın

Artık scripti çalıştırabilirsiniz:

./system_info.sh

4. Çıktıyı İnceleyin

Script çalıştıktan sonra, sistem bilgileriniz ekranda görüntülenecektir. Bu bilgileri bir dosyaya kaydetmek isterseniz:

./system_info.sh > system_report.txt

Günlük Kullanım

Bu scripti düzenli olarak çalıştırarak sistem durumunuzu takip edebilirsiniz. Örneğin, her sabah sistem durumunu kontrol etmek için cron job oluşturabilirsiniz:

# Crontab düzenle
crontab -e

# Her sabah 08:00'de çalıştır ve raporu kaydet
0 8 * * * /path/to/system_info.sh >> /var/log/system_reports.log

Gelişmiş Kullanım

Scripti özelleştirerek sadece belirli bilgileri gösterebilir veya çıktıyı farklı formatta kaydedebilirsiniz. Örneğin, sadece disk kullanımını görmek için scripti düzenleyebilirsiniz.

Gereksinimler

Gereksinimler

  • Bash 4.0+: Script bash shell'de çalışır
  • Linux/Unix Sistemi: Script Linux ve Unix tabanlı sistemlerde çalışır
  • Sistem Araçları: Aşağıdaki komutların sisteminizde kurulu olması gerekir:
    • lscpu - CPU bilgileri için
    • free - Bellek bilgileri için
    • df - Disk kullanımı için
    • uptime - Sistem çalışma süresi için
    • last - Son girişler için
    • ip veya ifconfig - Ağ bilgileri için
    • top - CPU kullanımı için
  • İzinler: Çoğu komut normal kullanıcı izinleriyle çalışır, ancak bazı bilgiler için root yetkisi gerekebilir

Kurulum Kontrolü

Gerekli araçların kurulu olup olmadığını kontrol etmek için:

which lscpu free df uptime last ip top

Eksik araçlar varsa, sisteminize göre kurun:

# Ubuntu/Debian
sudo apt-get install procps net-tools

# CentOS/RHEL
sudo yum install procps-ng net-tools

# Arch Linux
sudo pacman -S procps-ng net-tools

Kullanım Senaryoları

Kullanım Senaryoları

1. Sistem Sağlık Kontrolü

Düzenli olarak sistem durumunuzu kontrol etmek için bu scripti kullanabilirsiniz. Özellikle sunucu yönetiminde, sistem kaynaklarının durumunu hızlıca görmek çok önemlidir.

2. Performans Analizi

CPU, RAM ve disk kullanımınızı izleyerek performans sorunlarını tespit edebilirsiniz. Yüksek kullanım oranları, sisteminizin aşırı yüklendiğini gösterebilir.

3. Sorun Giderme

Sistem sorunları yaşadığınızda, bu script ile sistem durumunu hızlıca kontrol edebilirsiniz. Örneğin, disk doluluğu, yüksek CPU kullanımı veya bellek sorunlarını tespit edebilirsiniz.

4. Sistem Dokümantasyonu

Yeni bir sunucu aldığınızda veya sistem yapılandırmasını kaydetmek istediğinizde, bu scriptin çıktısını dokümantasyon olarak saklayabilirsiniz.

5. Sunucu Karşılaştırması

Birden fazla sunucunuz varsa, her birinin durumunu bu script ile kontrol edip karşılaştırabilirsiniz.

6. Otomatik Raporlama

Cron job ile bu scripti düzenli olarak çalıştırarak otomatik sistem raporları oluşturabilirsiniz.

Örnekler

Kullanım Örnekleri

Örnek 1: Basit Kullanım

Scripti çalıştırıp çıktıyı ekranda görüntüleyin:

./system_info.sh

Örnek 2: Çıktıyı Dosyaya Kaydetme

Raporu bir dosyaya kaydedin:

./system_info.sh > system_report_$(date +%Y%m%d).txt

Örnek 3: E-posta ile Gönderme

Raporu e-posta ile gönderin:

./system_info.sh | mail -s "System Report" [email protected]

Örnek 4: Cron Job ile Otomatik Çalıştırma

Her gün saat 08:00'de çalıştırın:

# Crontab düzenle
crontab -e

# Ekle:
0 8 * * * /path/to/system_info.sh >> /var/log/system_reports.log 2>&1

Örnek 5: Sadece Disk Kullanımını Gösterme

Scripti düzenleyerek sadece disk kullanımını gösterebilirsiniz:

#!/bin/bash
echo "--- Disk Usage ---"
df -h | grep -E "^/dev/" | awk "{print \$1\": \"\$3\"/\"\$2\" (\"\$5\" used)\"}"

Kod

#!/bin/bash

# System Information Checker Script

echo "======================================"
echo "   SYSTEM INFORMATION REPORT"
echo "======================================"
echo ""

echo "Hostname: $(hostname)"
echo ""

echo "--- Operating System ---"
if [ -f /etc/os-release ]; then
    . /etc/os-release
    echo "OS: $NAME"
    echo "Version: $VERSION"
fi
echo "Kernel: $(uname -r)"
echo "Architecture: $(uname -m)"
echo ""

echo "--- CPU Information ---"
echo "Model: $(lscpu | grep "Model name" | cut -d: -f2 | xargs)"
echo "Cores: $(nproc)"
echo "CPU Usage: $(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk "{print 100 - \$1\"%\"}")"
echo ""

echo "--- Memory Information ---"
free -h | awk "NR==2{printf \"Total: %s\nUsed: %s\nFree: %s\nUsage: %.2f%%\n\", \$2,\$3,\$4,\$3*100/\$2 }"
echo ""

echo "--- Disk Usage ---"
df -h | grep -E "^/dev/" | awk "{print \$1\": \"\$3\"/\"\$2\" (\"\$5\" used)\"}"
echo ""

echo "--- Network Information ---"
ip -4 addr show | grep -oP "(?<=inet\s)\d+(\.\d+){3}" | head -n 1 | xargs echo "IP Address:"
echo ""

echo "--- System Uptime ---"
uptime -p
echo ""

echo "--- Load Average ---"
uptime | awk -F"load average:" "{print \$2}"
echo ""

echo "--- Last Login ---"
last -n 5 | head -n 5
echo ""

echo "======================================"
echo "Report generated: $(date)"
echo "======================================"

Kullanım

chmod +x system_info.sh
./system_info.sh

Sorun Giderme

Sorun Giderme

Problem: "command not found" Hatası

Çözüm: Gerekli sistem araçlarının kurulu olduğundan emin olun. Yukarıdaki "Gereksinimler" bölümüne bakın.

Problem: CPU Kullanımı Gösterilmiyor

Çözüm: top komutunun kurulu olduğundan emin olun. Alternatif olarak htop veya vmstat kullanabilirsiniz.

Problem: IP Adresi Gösterilmiyor

Çözüm: ip komutu yoksa ifconfig kullanın. Scripti şu şekilde düzenleyin:

if command -v ip &> /dev/null; then
    ip -4 addr show | grep -oP "(?<=inet\s)\d+(\.\d+){3}" | head -n 1
else
    ifconfig | grep -oP "inet \K[\d.]+" | head -n 1
fi

Problem: Disk Bilgileri Eksik

Çözüm: df komutunun çalıştığından emin olun. Bazı sistemlerde /proc/mounts dosyasını kontrol edin.

Problem: Script Çalışmıyor

Çözüm:

  • Scriptin çalıştırma izni olduğundan emin olun: chmod +x system_info.sh
  • Bash ile çalıştırın: bash system_info.sh
  • Scriptin başındaki shebang satırını kontrol edin: #!/bin/bash

Etiketler

sistem bilgisi cpu ram disk kullanımı monitoring