Palvelutiedoston luominen Linuxissa

Palvelutiedoston Luominen Linuxissa



Systemd init -järjestelmä on nyt osa lähes kaikkia Linux-jakeluja. Järjestelmänvalvojana tai kehittäjänä luot palveluita, joita systemd voi hallita. Jos esimerkiksi haluat käynnistää palveluita käynnistyksen yhteydessä tai hallita niitä manuaalisesti, se voidaan tehdä mukautetun palvelutiedoston kautta.

Tässä opetusohjelmassa käyn läpi, kuinka luodaan systemd-palvelutiedosto Linuxissa.







Mikä on palvelutiedosto

Ennen kuin jatkat, ymmärrämme, mikä systemd-palvelutiedosto on ja miten se luodaan Linuxissa.



Systemd-palvelutiedosto sisältää ohjeet, jotka on asetettu systemd:lle palvelun hallintaan. Se sisältää yleensä kolme osaa:



  • Yksikkö
  • Palvelu
  • Asentaa

The Yksikkö -osio sisältää perustiedot palvelusta, kuten lyhyen kuvauksen, dokumentaatiosivut ja polun riippuvuuksiin. The Asentaa -osio on valinnainen, mutta yleensä se hallitsee, missä järjestelmätilassa palvelu tulee ottaa käyttöön.





The Palvelu -osio on yleensä Unit- ja Install-osien välissä. Se sisältää ensisijaisesti palvelun tyypin ja suoritettavien tiedostojen polun, jotka pohjimmiltaan ovat komentoja, jotka suoritetaan, kun systemd kutsuu palvelua.

Tältä näyttää tyypillinen palvelutiedostorakenne.



[ Yksikkö ]

direktiivi1 = ohje

direktiivi2 = ohje



[ Palvelu ]

direktiivi1 = ohje

direktiivi2 = ohje



[ Asentaa ]

direktiivi1 = ohje

direktiivi2 = ohje

Tässä direktiivit ovat parametreja, jotka ottavat vastaavan syötteensä. Esimerkiksi, Kuvaus direktiivi ottaa palvelun nimen merkkijonon. Samalla tavalla, ExecStart ottaa huomioon suoritettavan tiedoston täydellisen polun.

Tyypillinen palvelutiedosto ssh.service on annettu alla.

Palvelutiedoston luominen

Järjestelmäpalvelun luomiseksi on välttämätöntä ymmärtää keskeiset ohjeet. Tässä oppaassa käsittelen tärkeitä ohjeita, jotka voivat auttaa sinua luomaan täysin toimivan palvelutiedoston.

Palvelutiedoston luominen sisältää useita vaiheita, aloitetaanko skriptitiedoston luominen.

Huomautus: Jotta voit jatkaa alla mainitulla menetelmällä, sinulla on oltava pääkäyttäjän oikeudet.

1. Skriptin luominen

Ensimmäinen vaihe sisältää koodin luomisen, joka suoritetaan, kun palvelu aloittaa toimintansa. Tätä opetusohjelmaa varten luon bash-skriptin, joka tallentaa Linux-järjestelmän käytettävyyden ja muistin käytön.

Luodaan komentosarja nykyiseen hakemistoon nimellä myscript.sh käyttämällä nanoeditoria.

sudo nano myscript.sh

Lisää nyt alla oleva komentosarja tiedostoon ja tallenna se painamalla ctrl+x ja sitten ja .

#!/bin/bash

kaiku '>>Tässä on järjestelmän käyttöaika<<' > Koti / hän itse / omatiedosto.txt

käyttöaste >> Koti / hän itse / omatiedosto.txt

kaiku '>>Tässä on järjestelmäsi muistin käyttö<<' >> / Koti / hän itse / omatiedosto.txt

vapaa -m >> Koti / hän itse / omatiedosto.txt

nukkua 60

Käsikirjoitus sisältää pari kaikumerkkijonoa ja käyttöaste ja vapaa komentoja.

The käyttöaste Linuxin komentoa käytetään tulostamaan, kuinka kauan järjestelmä on ollut käynnissä ja kuinka monta käyttäjää on yhteydessä järjestelmän keskimääräisellä kuormituksella viimeisen 1, 5 ja 15 minuutin aikana.

The vapaa -komentoa käytetään tulostamaan järjestelmän muistin käyttö, kun taas -m lippua käytetään tulosteen tulostamiseen MBs .

Tietojen tallentamiseen tekstitiedostoon käytämme erikoisoperaattoreita, joita kutsutaan uudelleenohjausoperaattoreiksi. The > -operaattoria käytetään tekstin lisäämiseen mainittuun tekstitiedostoon. Jos tiedostoa ei kuitenkaan ole vielä olemassa, se luodaan. Samalla kun >> -operaattoria käytetään tekstin liittämiseen tiedostoon. The nukkua komentoa käytetään ylläpitämään palvelun toimintaa vähintään minuutin ajan.

Tee nyt komentosarjasta suoritettava myöntämällä tarvittavat käyttöoikeudet.

sudo chmod +x myscript.sh

Skriptillä on nyt suorituslupa, siirrytään seuraavaan osaan.

Huomautus: Jotta palvelutiedosto olisi virheetön, käytä tiedoston absoluuttista polkua bash-komentosarjassa.

2. Luodaan .service-tiedosto

Luo seuraavaksi palvelutiedosto .palvelu laajennus. Palvelutiedosto on luotava tiedostoon /etc/systemd/system hakemistosta. Siirry ensin tähän hakemistoon käyttämällä CD komento.

CD / jne / systemd / järjestelmä

Voit luoda palvelutiedoston mihin tahansa hakemistoon ja siirtää tiedoston myöhemmin kuitenkin tähän hakemistoon.

Olen luomassa palvelutiedostoa myservice.service nimi.

sudo nano myservice.service

Lisää nyt tiedostoon seuraavat rivit.

[ Yksikkö ]

Kuvaus = Palveluni

[ Palvelu ]

Tyyppi = yksinkertainen

ExecStart = / roskakori / lyödä / Koti / hän itse / script.sh

Uudelleenkäynnistää =vikatilanteessa

[ Asentaa ]

WantedBy =multi-user.target

Ota huomioon, että [Yksikkö], [Palvelu], ja [Asentaa] ovat kirjainkoolla . Palvelutiedosto ei toimi, jos jokin niistä mainitaan väärin, kuten [YKSIKKÖ] tai [PALVELU].

Palvelun nimi on määritetty muodossa Palveluni in Kuvaus direktiivin [Yksikkö] osio.

The Tyyppi palvelusta on yksinkertainen in [Palvelu] -osio, joka on oletustyyppi. Haaroittuminen , yksi laukaus , ilmoittaa , dbus , ja tyhjäkäynti ovat joitain muita tyyppejä.

Jos haluat tehdä palvelusta käyttäjäkohtaisen, niin Käyttäjä direktiiviä voidaan käyttää myös käyttäjän käyttäjänimen kanssa. Tämän ohjeen käyttäminen tekee palvelun käyttäjän luvista riippuvaiseksi.

Samalla kun ExecStart direktiivi sisältää suoritettavan tiedoston täyden polun. Yllä olevassa esimerkissä komentosarjatiedosto myscript.sh on tallennettu /home/sam/ hakemistosta. Tämä direktiivi itse asiassa hallitsee mitä suoritetaan, kun systemd kutsuu palvelun. Jos komennon koko polkua ei ole määritetty, se ratkaistaan ​​automaattisesti korjaamaan absoluuttiset polut, kuten /usr/local/bin , /usr/bin/, ja /bin . On täysin hienoa käyttää suoritettavaa nimeä niin kauan kuin ne ovat vakiokomentohakemistoissa, mutta muuten mainitse absoluuttinen polku. Huomaa, että voidaan käyttää myös useita komentoja, jotka erotetaan puolipisteellä (;).

The [Asentaa] osio on valinnainen; Se kuitenkin osoittaa, kuinka palvelu on käytössä. The WantedBy direktiivi ottaa ajon tason kohdetiedostot parametreiksi. Erilaiset kohdetiedostot osoittivat järjestelmän eri ajotasoja, kuten virta pois , pelastaa , usean käyttäjän , graafinen , ja käynnistä uudelleen .

The monen käyttäjän.kohde tarkoittaa, että palvelu otetaan käyttöön, kun järjestelmä on tilassa, joka sallii usean käyttäjän ei-graafiset istunnot.

3. Palvelun aktivointi

Aktivoi palvelu lataamalla ensin järjestelmän kokoonpanot uudelleen käyttämällä systemctl apuohjelma.

sudo systemctl daemon-reload

Aktivoi seuraavaksi palvelu uudelleen käyttämällä systemctl komento kanssa ota käyttöön .

sudo systemctl ota käyttöön myservice.service

Tarkistaaksesi palvelun tilan käyttämällä systemctl tila komento.

Palvelu toimii onnistuneesti.

Nyt luetaan tekstitiedosto omatiedosto.txt luotu palvelu /Koti hakemistosta.

Systemd-palvelutiedoston luominen tavalliselle käyttäjälle

Palvelutiedoston luominen tavalliselle käyttäjälle on samanlainen kuin järjestelmänvalvojan tapa luoda palvelutiedosto. Tavallisten käyttäjien palvelutiedoston tallennushakemisto on kuitenkin erilainen. Tavallisten käyttäjien on sijoitettava palvelutiedostonsa ~/.config/systemd/user . Tämä hakemisto on luotava käyttämällä mkdir komento.

mkdir ~ / .config / systemd / käyttäjä

Palvelun aktivointi normaalin käyttäjän toimesta -käyttäjä komento lisätään kanssa systemctl sijasta sudo .

systemctl --käyttäjä daemon-reload

systemctl --käyttäjä ota käyttöön PALVELU-NAME.palvelu

systemctl --käyttäjä tila PALVELU-NAME.palvelu

The -käyttäjä -vaihtoehtoa käytetään käyttäjän järjestelmäpalvelutiedostojen hallintaan.

Palvelutiedoston poistaminen

Palvelutiedoston poistamiseksi palvelu on ensin pysäytettävä.

sudo systemctl stop SERVICE-NAME.service

Tarkista tila käyttämällä systemctl tila komento tietää, onko palvelu pysäytetty vai ei. Poista sitten palvelutiedosto käyttämällä rm komento.

sudo rm / jne / systemd / järjestelmä / PALVELU-NAME.palvelu

Lataa nyt uudelleen systemd kokoonpano.

sudo systemctl daemon-reload

Johtopäätös

Räätälöity järjestelmäpalvelu on edullinen erilaisissa skenaarioissa. Tässä oppaassa opimme luomaan mukautetun systemd-palvelutiedoston järjestelmänvalvojalle ja kuinka tavalliset käyttäjät voivat luoda palvelutiedoston. Lisäksi näemme myös palvelutiedoston poistamismenettelyn.