Linuxin tunnetut palvelut voidaan lisätä käynnistyksen yhteydessä ilman ongelmia, koska useimmilla niistä on oma komentosarjansa, joka tehdään komennoilla ’chkconfig’ ja ’systemctl’.
Esimerkiksi lisätäksesi ’Apache httpd’-palvelun käynnistyksen yhteydessä, suorita jokin seuraavista komennoista järjestelmähallintaasi perustuen. Vastaavasti voit lisätä minkä tahansa tunnetun palvelun tarpeen mukaan käynnistyksen yhteydessä.
Sys V init -järjestelmälle:
# chkconfig --level 35 httpd on
Systemd -järjestelmälle:
# systemctl enable httpd
Joskus saatat joutua lisäämään mukautetun skriptin tai komennon tai palvelun käynnistyksen/käynnistyksen yhteydessä. Jos näin on, miten se tehdään?
Tässä artikkelissa ymmärretään, miten se toteutetaan seuraavilla kolmella menetelmällä:
- Käyttämällä /etc/rc.d/rc.local-tiedoston käyttäminen
- Crontab-tiedoston käyttäminen
- systemd-palveluyksikön käyttäminen
Menetelmä-1: /etc/rc.d/rc.local-tiedoston käyttäminen
Menetelmä-1: /etc/rc.d/rc.local-tiedoston käyttäminen
Menetelmä-2: /etc/rc.local”-tiedosto suoritetaan perinteisesti sen jälkeen, kun kaikki normaalit tietokonepalvelut on käynnistetty monikäyttäjän suoritustasolle siirtymisen päätteeksi.
Tämä menetelmä toimii myös systemd-järjestelmässä, ja sinun on lisättävä skriptisi sijainti tiedostoon ”/etc/rc.d/rc.local”, jotta se voidaan suorittaa käynnistyksen yhteydessä.
Varmista, että tiedostolla on suoritusoikeus tiedostoon.
# chmod +x /etc/rc.d/rc.local
Ymmärtääksemme tämän yksityiskohtaisesti, luomme yksinkertaisen skriptin alla olevan kuvan mukaisesti, mutta voit luoda minkä tahansa skriptin tarpeen mukaan:
# vi /opt/scripts/run-script-on-boot.sh#!/bin/bashdate > /root/on-boot-output.txthostname > /root/on-boot-output.txt
Kun skripti on valmis, aseta suoritusoikeus alla olevan kuvan mukaisesti:
# chmod +x /opt/scripts/run-script-on-boot.sh
Lisää lopuksi skripti tiedoston loppuun:
# vi /etc/rc.d/rc.local/opt/scripts/run-script-on-boot.sh
Käynnistä järjestelmä uudelleen varmistaaksesi tämän:
# reboot
Menetelmä 2: crontab-tiedoston käyttäminen
cron suorittaa ajastettuja töitä automaattisesti taustapalvelussa tiettyyn aikaan.
Tämä onnistuu helposti käyttämällä erityistä merkkijonoa nimeltä "@reboot"
cron-työn kanssa.
@reboot on erityinen merkkijono, ja sen avulla käyttäjä voi suorittaa minkä tahansa komennon tai komentosarjan käynnistyksen yhteydessä (käynnistyksen aikana).
Tässä esimerkissä ajetaan tiedosto ’/opt/scripts/run-script-on-boot.sh’ järjestelmän uudelleenkäynnistyksen yhteydessä.
Käytämme samaa skriptiä, joka luotiin yllä olevassa esimerkissä. Lisää vain seuraava merkintä crontab-tiedostoon:
# crontab -e@reboot /opt/scripts/run-script-on-boot.sh
Käynnistä järjestelmä uudelleen tarkistaaksesi tämän:
# reboot
Menetelmä-3: Käyttämällä systemd-palveluyksikköä
Tämä menetelmä toimii vain systemd-järjestelmässä ja se on hyvin suoraviivainen.
Tehdäksesi näin sinun on luotava systemd-käynnistysskripti ja sijoitettava se hakemistoon ”/etc/systemd/system/”.
Tässä on esimerkkimme systemd-käynnistysyksikköskriptistä:
# vi sample-on-boot-script.serviceDescription=Run a Custom Script at StartupAfter=default.targetExecStart=/opt/scripts/run-script-on-boot.shWantedBy=default.target
Kun olet sijoittanut yksikköskriptin systemd-sijaintiin, suorita seuraava komento päivittääksesi systemd:n asetustiedostot ja ottaaksesi palvelun käyttöön:
# systemctl daemon-reload# systemctl enable sample-on-boot-script.service
Käynnistä järjestelmä uudelleen tarkistaaksesi tämän:
# reboot
Bonusvihjeitä:
Jos haluat ajaa skriptin taustalla, sinun on lisättävä perään tuleva jaollinen merkki "&"
.
/Path/To/My_Script &
Jos haluat suorittaa komennon eri käyttäjänä, käytä seuraavaa muotoa:
su - $USER -c /Path/To/My_Script
Loppupäätelmä
Tässä oppaassa käsitellään lyhyesti mukautetun komentosarjan tai komennon tai palvelun lisäämistä käynnistyksen yhteydessä.