LINUXDA SERVİCE YAZMAK- OLUŞTURMAK

 


Hata durumlarından sonra, sistemin kapanıp açılması durumunda sorun yaşamamak ya da bu dosya çalıştıktan sonra şu dosyanın çalışmasını tetiklesin gibi durumlar için servis yazma ihtiyacı duyabiliriz.

Etc/systemd/system  dizininin altına istenen servisleri oluşturabiliriz.

AMAÇ:

1.       Etc/systemd/system  dizininin altına hello.service adlı service oluşturmak

2.       Hello.service in görevi “sayhello.sh “dosyasını çalıştırmaktır.

3.       Bu sayhello.sh dosyası da başka bir dosyaya yazma işlemi yapıyor.

YAPILACAK İŞLEMLER:

1.       Etc/systemd/system  dizininin altına hello.service oluştur. Dosyaya ebru kullanıcısına izin ver. İçeriği yaz.

2.       /home/ebru/  dizininin altına sayhello.sh dosyası oluştur. Dosyaya ebru kullanıcısına izin ver. Gerekliyse işlemleri yaz.

3.       /home/ebru/say_out.txt dosyası oluştur. Dosyaya ebru kullanıcısına izin ver.

KULLANILACAK OLAN KOMUTLAR

#Touch hello.service (dosya oluşturma)

#Touch sayhello.sh

#Touch say_out.txt

#Sudo chown ebru:ebru hello.service  (sahiplik-group yetkisi verme)

#Sudo chown ebru:ebru sayhello.sh

#Sudo chown ebru:ebru say_out.txt

#sudo chmod u+x sayhello.sh  (dosyayı çalıştırılabilir dosya yaptık)

#Sudo chmod o+x sayhello.txt (diğer kullanıcılar için de çalıştırılabilir.)

#systemctl daemon-reload    (servis dosyalarında değişiklik yaptıkça çalıştırıyoruz.)

#Sudo systemctl start hello.service  (servisi başlat)

#Sudo systemctl status hello.service (servis durumunu öğren)

#tail –f say_out.txt  (servisin amacı say_out.txt e yazmaktı sürekli bir yazım devam ediyor mu kontrol et)

 

 

Bu dizinin altında “Touch hello.service “ komutuyla service oluştu. Hello.service isimli service oluşturduk.














Hello.service ‘inin görevi        /home/ebru/sayhello.sh  ‘ı çalıştırması olsun. Servis dosyasının içeriği şuan en basit haliyle;











Öncelikle bu dosyada herhangi bir değişiklik yapıp kaydettik sonra “systemctl daemon-reload “  komutunu çalıştırmayu unutmayalım. /home/ebru/   dizininin altına bu servisin hangi dosyayı çalıştırmasını istiyorsak onu yazıyoruz. (Ben çalıştırmak istediğim dosyayı burada tutmak istedim. Sizde dosya hangi dizindeyse onu yazın.) Dosya uzantısını da ona göre belirtiyoruz. Ebru kullanıcısının oturumunda servis çalışacaktır. Dosya yetkileri de ona göre yapılmalıdır. Dosyanın üzerinde X işareti varsa bizim o dosyayı açma yetkimiz yoktur. Hemen ebru kullanıcısına yetki verelim:

#Touch hello.service

#Touch sayhello.sh

#Touch say_out.txt

#Sudo chown ebru:ebru hello.service

#Sudo chown ebru:ebru sayhello.sh

#Sudo chown ebru:ebru say_out.txt

 /home/ebru/sayhello.sh  dosyasının yeri ve içeriği:












#“Cat sayhello.sh “ komutuyla sayhello.sh ın içeriğini görebiliriz.

Echo “servis çalıştı”>> /home/ebru/say_out.txt

Sleep 2










“Servis çalıştı “ cümlesi servis aktif olduğu sürece /home/ebru/say_out.txt dosyasına yazacak.

Servisin aktif durumda olduğunu ve hangi dosyayı çalıştırdığını gösterir.

Servisi start edelim ve durumuna bakalım.

#Sudo systemctl start hello.service

#Sudo systemctl status hello.service

Active olması servisin çalıştığını gösterir. Bu servisin hangi dosyayı çalıştırdığı da burada görünür.












Servisin doğru çalıştığını Say_out.txt dosyasına yazma işleminden anlarız.

#tail –f say_out.txt  komutuyla bu txt dosyasını sürekli olarak izler ve son satırları gösteririz.



Bu blogdaki popüler yayınlar

HUAWEİ SWİTCH LOG DOSYASI SİLME İŞLEMİ

EXTREME MANAGEMENT FAİL ARCHİVE SAVE HATASI

LİNUX SCRİPT İLE DOSYADAN DOSYAYA VERİ AKTARMA