20 Aralık 2015

Sunucu Yönetimi için Kullanılan Linux Komutları

Sunucu Yönetimi için Kullanılan Linux Komutları

Sunucu yönetiminde kullandığımız genel komutlar vardır; süreçleri izlemek, bellek ve disk boyutlarını kontrol etmek, işlem tüketimleri gibi. Bu komutlar hakkında hem genel bilgi hem de SSH üzerinde kullanılan Advanced düzeydeki sunucu yönetim komutlarını bu başlıkta yazacağım.

Sunucu üzerindeki tüm disk alanlarını ve kullanımını gösterir;
# df -h

Örnekle TMP dizininin dolu olup olmadığına aşağıdaki komutla bakabiliriz;
# df -h /tmp

Sunucudaki Inodes kullanımını görmek için;
# df -i

Sunucunuzun bellek(RAM) ve Swap miktarını görmek için (Megabayt cinsinden);
# free -m
# free

Fiziksel disklerinin tamamı hakkında bilgi verir;
# fdisk -l 

Sunucunun donanımsal özelliklerini gösterir;
# dmesg

Sunucudaki mevcut işletim sistemini ve Kernel bilgisini öğrenmek için;
# uname
# uname -a (Detaylı olarak öğrenemek için, Kernel bilgisi)
# uname -r (Tam Kernel versiyonu)
# uname -mrs (Detaylı Kernel versiyonu ve OS versiyonu)

CentOS ve RHEL işletim sistemi tam sürümünü öğrenmek için;
# cat /etc/redhat-release
# cat /etc/redhat-r*

Sistem Bilgileri
1) Linux Server çekirdek hakkında detaylı bilgi verir;
cat /proc/modules

2) Kernel hakkında detaylı bilgi verir;
cat /proc/version

3) Linux sunucuya bağlı aygıtları gösterir;
# cat /proc/mounts

4) Linux Server Ram hakkında detaylı bilgi verir;
# cat /proc/meminfo

5) Linux Server İşlemci hakkında detaylı bilgi verir;
# cat /proc/cpuinfo

6) Sunucu DNS dosyası ve içeriği;
# cat /etc/resolv.conf
# cat /etc/sysconfig/network-scripts/ifcfg-eth0

7) Host dosyasını görüntülemek için;
# cat /etc/hosts

Sunucuyu yeniden başlatmak için;
# reboot

Sunucuyu komple kapatmak için;
# shutdown

Sunucuya giriş User türü öğrenmek için;
whoami

Sunucu Uptime durumunu gösterir;
# uptime

Linux'da dosya düzenleme yöntemi (nano);
# nano /dizin/dosya.txt

Bir dizinin ve altındaki tüm klasörlerin isimlerini ve toplam boyutlarını öğrenmek için;
# du
# du /etc (Örnek kullanım /etc dizini için)
# du -sh (Dizin boyutunu öğrenmek için kullanılır)
# du -sh /etc (Sadece /etc dizinin boyutunu öğrenmek için)
# du -sh * (Bulunduğunuz dizindeki tüm dosyaların boyutlarını öğrenmek için)

Klasördeki mp4 uzantılı dosyaların boyutlarını bir liste şeklinde alırız;
# du -sh *.mp4

Çalışan tüm işlemleri (Process) görmek için PS komutu kullanılır;
# ps
# ps -a (Sistemde çalışan gizli işlemler)
# ps -e (Sistemde çalışan tüm süreçlerin listesini görmek için)
# ps -le (Ayrıntılı listeleme için l parametresini ekliyoruz)
# ps -eF (Ebeveyn süreçleri izlemek için)
# ps -u burakavcioglu (burakavcioglu kullanıcısına ait süreçlerin listesini görebilmek için)

Sunucuda çalıştırılan işlemlerin CPU/RAM kullanımıyla birlikte detaylı olarak gösterir;
# ps aux
# ps auxf (Tree şeklinde gösterim, Dizinlerin altındaki süreçleride gösterir)
# ps -axl (Başka bir versiyonu)
# ps -aux | grep cpba

Çalışan bir uygulamanın PID numarasını yazarak işlemini sonlandırmak için;
# kill -9 PIDNUMARASI
# kill -9 1518 (1518 PID numaralı Process'i kapattık)

Bir servisi ve süreçlerini komple kapatmak için (Örnek Apache Servisi);
# killall -9 httpd

Zombie Süreci kapatmak için;
# kill -s SIGCHLD PIDNUMARASI
# kill -s SIGCHLD 1518 (1518 PID numaralı Zombie süreci kapattık)

Sunucuya bağlanan IP adreslerini gösterir;
# netstat -n

Sunucuya bağlanan Reseller IP adreslerini gösterir;
# netstat -a

Advanced Komutlar;

Sunucuda en fazla CPU kullanan hesabı öğrenebilirsiniz;
# ps axo pcpu,comm,pid,euser | sort -nr | head -n 10

Sunucuda en fazla Ram Bellek kullanan hesabı öğrenebilirsiniz;
# ps axo %mem,comm,pid,euser | sort -nr | head -n 10

Load Average değerini direk ekrana yazdırmak için;
# top -b -n 1 | head -n 10 | grep average | awk '{print $12}' | cut -d, -f1

Gelen SYN ataklarını görmek için;
# netstat -n | grep SYN

Sunucunun IP adresini çekmek için;
# ifconfig eth0 | grep inet | awk '{ print $2 }'

Sunucu IPv4, Lokal IP ve IPv6 bilgilerini ekrana verir;
# ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Sunucudaki İşlemci(CPU) sayısı;
# cat /proc/cpuinfo | grep -c processor

Boş Bellek(Memory) Alanı;
# (free | awk '/Mem:/ { print $4 }')