Linux Servis Yönetimi

Bu yazımızda Linux sistemimizde çalışan servisleri nasıl yöneteceğimize bakacağız.

Linux üzerinde çalışan servislerin, durduğunda ve işletim sistemi kapatılıp açıldığında otomatik olarak yeniden başlatılması, loglarının toplanması vb işlemleri yürütecek bir sisteme ihtiyaç vardır. systemd birçok Linux dağıtımı için bu sistemi sağlamaktadır.

Linux’ta çalıştırdığımız web ve uygulama sunucuları, SSH, DNS, telnet, vb servisler systemd veya benzeri (örneğin upstart) bir init system tarafından yönetilirler. Bu sistemlere init system denmesinin sebebi, Linux’un bu sistemleri açılış sırasında (boot) diğer process’leri başlatan ve PID (Process ID) 1 ile ifade edilen init process’i olarak kullanmasıdır. Aşağıdaki ekran çıktısında görüldüğü gibi Ubuntu 16.04.1 Linux dağıtımında init process’i olarak systemd kullanılmıştır.

Sistemde systemd tarafından yönetilen bütün servisler systemctl list-units –type service –state running komutu ile görüntülenebilir.

Çalışan bir servisin durumu systemctl status<servis name> komutu listelenir.

Çalışmakta olan bir servis systemctl stop<servis name> komutu ile durdurulur, durdurulmuş bir servis ise systemctl start <servis name> komutu ile başlatılır. Bir servisi yeniden başlatmak için ise systemctl restart<servis name> komutu kullanılır.

Sistemde bulunan bir servisin deaktive edilmesi istendiğinde systemctl disable , aktive edilirken ise systemctl enable komutları kullanılır. Deaktive edilen bir servis, systemd tarafından sistemin yeniden başlatılması sırasında başlatılmaz.

systemd tarafından yönetilen servislerin ürettiği loglar journalctl komutu ile görülebilir. Aşağıda sudo journalctl -u docker.service ile docker servisinin logları görüntülenir.

systemd ile kulanacağınız önemli kısımlara değindik. Sizlerinde eklemek istediğiniz kısımlar var ise aşağıdaki yorum kısmını kullanarak görüşlerinizi ve eklemek istediğiniz bilgileri bizler ile paylaşabilirsiniz.

Read More