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.
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çinfree- Bellek bilgileri içindf- Disk kullanımı içinuptime- Sistem çalışma süresi içinlast- Son girişler içinipveyaifconfig- Ağ bilgileri içintop- 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