
Linux işletim sistemlerinde servislerin yönetimi büyük önem taşır. Systemd, modern Linux dağıtımlarında varsayılan olarak kullanılan bir sistem ve servis yöneticisidir. Servisleri başlatmak, durdurmak, otomatik çalıştırmak ve logları incelemek için güçlü araçlar sunar.
Bu yazıda, Systemd ile servis yönetimini, önemli komutları ve özel servis dosyaları oluşturmayı anlatmaya çalışacağım.
Eğer Apache çalışmıyorsa başlatmak için:
4. Özel Servis Dosyası (
Linux üzerinde özel bir servis oluşturmak için Systemd servis dosyaları kullanılır.
2️⃣ Servis İçeriğini Ekleyin:
3️⃣ Servisi Aktif Hale Getirme:
Bu adımlardan sonra Python scriptiniz sistem açıldığında otomatik olarak çalışacaktır! 🚀
5. Systemd Loglarını İnceleme (
Servislerin hata loglarını görmek için
Örneğin, Apache servisine ait son logları görmek için:
Bu komut, ilgili servisin loglarını canlı olarak takip etmenizi sağlar.
Systemd, Linux sistemlerinde servisleri başlatma, durdurma ve izleme için güçlü bir araçtır.
1. Systemd Nedir ve Neden Önemlidir?
Systemd, Linux’ta başlangıç sürecini (init system) yöneten bir sistem hizmetidir. Daha önce SysVinit ve Upstart gibi sistemler kullanılıyordu, ancak Systemd daha hızlı, daha güvenilir ve esnek olduğu için Linux dünyasında standart hale gelmiştir.Systemd’nin Avantajları
- ✅ Paralel başlatma ile daha hızlı boot süresi sağlar.
- ✅ Servislerin bağımlılıklarını yönetebilir.
- ✅ Log yönetimi ve analiz için
journalctl
sunar. - ✅ Dinamik servis başlatma ve takip etme desteği bulunur.
2. Systemd ile Servis Yönetimi (systemctl Komutları)
Systemd servisleri yönetmek için kullanılan ana araçsystemctl
komutudur. İşte temel systemctl komutları:
Servisleri Başlatma, Durdurma ve Yeniden Başlatma
İşlem | Komut |
---|---|
Servisi başlat | sudo systemctl start servis_adı |
Servisi durdur | sudo systemctl stop servis_adı |
Servisi yeniden başlat | sudo systemctl restart servis_adı |
Servisin durumunu kontrol et | systemctl status servis_adı |
Servisi yeniden yükle | sudo systemctl reload servis_adı |
Örnek Kullanım:
Bir web sunucusunun durumunu görmek için:
BASH
systemctl status apache2
BASH
sudo systemctl start apache2
3. Servislerin Otomatik Başlatılması
Bazı servislerin sistem açılışında otomatik olarak başlamasını isteyebilirsiniz. Bunun için:- 🔹 Otomatik Başlatmayı Etkinleştirme:
BASH
sudo systemctl enable servis_adı
- 🔹 Otomatik Başlatmayı Devre Dışı Bırakma:
BASH
sudo systemctl disable servis_adı
- 🔹 Sistemde Yüklü Tüm Servisleri Listeleme:
BASH
systemctl list-units --type=service
4. Özel Servis Dosyası (.service
) Oluşturma
Linux üzerinde özel bir servis oluşturmak için Systemd servis dosyaları kullanılır.
Örnek: Basit Bir Servis Dosyası
Bir Python scriptini Systemd servisi olarak çalıştırmak için: 1️⃣ Servis Dosyası Oluşturma:
BASH
sudo nano /etc/systemd/system/ornekservis.service
INI
[Unit]
Description=Örnek Systemd Servisi
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/kullanici/script.py
Restart=always
User=kullanici
Group=kullanici
[Install]
WantedBy=multi-user.target
BASH
sudo systemctl daemon-reload
sudo systemctl enable ornekservis
sudo systemctl start ornekservis
5. Systemd Loglarını İnceleme (journalctl
)
Servislerin hata loglarını görmek için journalctl
komutu kullanılır.
- 🔍 Tüm Systemd Loglarını Görüntüleme:
BASH
journalctl -xe
- 🔍 Belirli Bir Servisin Loglarını Görme:
BASH
journalctl -u servis_adı --no-pager
BASH
journalctl -u apache2 --no-pager
- 🔍 Gerçek Zamanlı Log İzleme:
BASH
journalctl -u servis_adı -f
6. Systemd ile Hata Kurtarma ve Debugging
Eğer bir servis düzgün çalışmıyorsa, şu adımları takip edebilirsiniz:- ✅ Servisin durumunu kontrol edin:
BASH
systemctl status servis_adı
- ✅ Logları detaylı inceleyin:
BASH
journalctl -u servis_adı -xe
- ✅ Servisi yeniden yükleyin:
BASH
sudo systemctl restart servis_adı
- ✅ Daemon’u yenileyin:
BASH
sudo systemctl daemon-reexec
Systemd, Linux sistemlerinde servisleri başlatma, durdurma ve izleme için güçlü bir araçtır.
Benzer Yazılar
Yorumlar ()
Henüz yorum yok. İlk yorum yapan sen ol!