Systemd ile Bir Linux Servisini Başlangıçta Başlatma
Giriş
Systemd, modern Linux dağıtımları tarafından sistem ve hizmet süreçlerini yönetmek için kullanılan güçlü bir init sistemidir. Ana özelliklerinden biri, hizmetlerin başlangıçta otomatik olarak başlatılabilmesidir. Bu makale, Systemd kullanarak bir hizmetin başlangıçta başlatılması için yapılandırma sürecini adım adım açıklayacak ve kritik uygulamalarınızın sistem her yeniden başlatıldığında güvenilir bir şekilde çalışmasını sağlayacaktır.
Systemd Hizmetlerini Anlamak
Systemd, hizmetleri tanımlamak ve yönetmek için birim dosyaları kullanır. Bu birim dosyaları şunlarda saklanır:
- Sistem genelindeki hizmetler:
/etc/systemd/system/ve
/lib/systemd/system/ - Kullanıcıya özel hizmetler:
~/.config/systemd/user/
Bir hizmet birim dosyası genellikle
.serviceuzantısına sahiptir ve Systemd’ye hizmeti nasıl yöneteceğini belirten yapılandırma direktiflerini içerir.
Bir Systemd Hizmet Dosyası Oluşturma
Bir hizmetin başlangıçta başlatılması için bir Systemd hizmet dosyası oluşturmanız gerekir. İşte özel bir hizmet oluşturmanın bir örneği.
1. Hizmet Dosyasını Oluşturun
Yeni bir hizmet dosyasını bir metin editöründe açmak için aşağıdaki komutu çalıştırın:
sudo nano /etc/systemd/system/myservice.service
2. Hizmet Yapılandırmasını Tanımlayın
Aşağıdaki içeriği ekleyin, uygulamanıza göre değiştirin:
[Unit] Description=My Custom Service After=network.target [Service] ExecStart=/usr/bin/myapp Restart=always User=myuser Group=mygroup WorkingDirectory=/home/myuser/ [Install] WantedBy=multi-user.target
Açıklama:
After=network.target: Hizmetin ağ mevcut olduğunda başlamasını sağlar.
ExecStart=/usr/bin/myapp: Hizmeti başlatmak için komutu tanımlar.
Restart=always: Hizmetin başarısızlık durumunda yeniden başlatılmasını sağlar.
User=myuserve
Group=mygroup: Hizmeti belirli bir kullanıcı ve grup altında çalıştırır.
WantedBy=multi-user.target: Hizmetin çoklu kullanıcı modunda başlamasını sağlar (çoğu sunucu için varsayılan çalışma seviyesi).
3. Systemd’yi Yenileyin ve Hizmeti Etkinleştirin
Hizmet dosyası oluşturulduktan sonra, yeni hizmeti tanımak için Systemd’yi yenileyin:
sudo systemctl daemon-reload
Hizmeti başlangıçta başlatmak için etkinleştirin:
sudo systemctl enable myservice.service
4. Hizmeti Başlatın ve Doğrulayın
Hizmeti manuel olarak başlatın:
sudo systemctl start myservice.service
Hizmet durumunu kontrol edin:
sudo systemctl status myservice.service
Her şey doğru yapılandırılmışsa, hizmetin çalıştığını belirten bir çıktı görmelisiniz.
Hizmeti Yönetme
Systemd hizmetinizi yönetmek için bazı yararlı komutlar:
- Hizmeti yeniden başlatın:
sudo systemctl restart myservice.service - Hizmeti durdurun:
sudo systemctl stop myservice.service - Hizmetin başlangıçta başlamasını devre dışı bırakın:
sudo systemctl disable myservice.service - Hizmetle ilgili günlükleri görüntüleyin:
journalctl -u myservice.service --no-pager
Sonuç
Hizmetleri başlangıçta başlatmak için Systemd kullanmak, kritik uygulamaların bir sistem yeniden başlatıldığında çalışmaya devam etmesini sağlamak için basit ve etkili bir yoldur. Bir Systemd hizmet dosyasını doğru bir şekilde yapılandırarak, başlangıçta etkinleştirerek ve
systemctlile yöneterek, Linux ortamınızın güvenilirliğini ve otomasyonunu artırabilirsiniz.


