A Linuxban jól ismert szolgáltatások minden gond nélkül hozzáadhatók indításkor, mivel a legtöbbjükhöz saját szkript tartozik, ami a ‘chkconfig’ és ‘systemctl’ parancsok segítségével történik.

Az ‘Apache httpd’ szolgáltatás bootoláskor történő hozzáadásához például futtassuk a következő parancsok egyikét a rendszerkezelőnk alapján. Hasonlóképpen hozzáadhat bármilyen jól ismert szolgáltatást, amire szükség van az indításkor.

Sys V init rendszerhez:

# chkconfig --level 35 httpd on

Systemd rendszerhez:

# systemctl enable httpd

Néha szükség lehet egy egyéni szkript vagy parancs vagy szolgáltatás hozzáadására az indításkor/indításkor. Ha igen, hogyan lehet ezt megvalósítani?

Ezzel a cikkel megértjük, hogyan lehet a következő három módszerrel megvalósítani:

  • A /etc/rc.d/rc.local fájl
  • Crontab fájl használata
  • systemd szolgáltatásegység

Módszer-1: Az /etc/rc.d/rc.local fájl használata

A “/etc/rc.d/rc.local” fájl hagyományosan az összes normál számítógépes szolgáltatás elindítása után, a többfelhasználós futtatási szintre való váltás folyamatának végén kerül végrehajtásra.

Ez a módszer a systemd rendszerben is működik, és hozzá kell adni a szkript helyét a “/etc/rc.d/rc.local” fájlhoz, hogy az indításkor fusson.

Győződjön meg róla, hogy a fájlnak futtatási engedélye van.

# chmod +x /etc/rc.d/rc.local

Azért, hogy ezt részletesen megértsük, létrehozunk egy egyszerű szkriptet az alábbiakban látható módon, de szükség szerint bármilyen szkriptet létrehozhat:

# vi /opt/scripts/run-script-on-boot.sh#!/bin/bashdate > /root/on-boot-output.txthostname > /root/on-boot-output.txt

Ha a szkript elkészült, állítsa be a futtatható engedélyt az alábbiakban látható módon:

# chmod +x /opt/scripts/run-script-on-boot.sh

Végül hozzáadjuk a szkriptet a fájl aljához:

# vi /etc/rc.d/rc.local/opt/scripts/run-script-on-boot.sh

Újraindítjuk a rendszert, hogy ezt ellenőrizzük:

# reboot

2. módszer: A crontab fájl használata

A cron automatikusan végrehajtja az ütemezett feladatokat a backendben egy adott időpontban.

Ez könnyen megvalósítható a "@reboot" nevű speciális karakterlánc használatával a cron munkával.

@reboot egy speciális karakterlánc, és lehetővé teszi a felhasználó számára, hogy bármilyen parancsot vagy szkriptet futtasson az indításkor (boot time).

Ez a példa a ‘/opt/scripts/run-script-on-boot.sh’ fájlt futtatja a rendszer újraindításakor.

A fenti példában létrehozott szkriptet fogjuk használni. Ehhez csak a következő bejegyzést kell hozzáadni a crontab fájlhoz:

# crontab -e@reboot /opt/scripts/run-script-on-boot.sh

Ez ellenőrzéséhez indítsuk újra a rendszert:

# reboot

3. módszer: A systemd szolgáltatásegység használata

Ez a módszer csak a systemd rendszeren működik, és nagyon egyszerű.

Hoz létre kell hoznunk egy systemd indítószkriptet, és a “/etc/systemd/system/” könyvtárba kell helyeznünk.

Ez a mi minta systemd indító egységszkriptünk:

# vi sample-on-boot-script.serviceDescription=Run a Custom Script at StartupAfter=default.targetExecStart=/opt/scripts/run-script-on-boot.shWantedBy=default.target

Mihelyt elhelyezte az egységszkriptet a systemd helyére, futtassa a következő parancsot a systemd konfigurációs fájlok frissítéséhez és a szolgáltatás engedélyezéséhez:

# systemctl daemon-reload# systemctl enable sample-on-boot-script.service

Elindítsa újra a rendszert, hogy ellenőrizze ezt:

# reboot

Bónusz tippek:

Ha a szkriptet a háttérben akarja futtatni, akkor hozzá kell adnia a "&" jelet az utána lévő nagykötőjelet.

/Path/To/My_Script &

Ha a parancsot más felhasználóként szeretné futtatni, használja a következő formátumot:

su - $USER -c /Path/To/My_Script

Következtetés

Ez a bemutató röviden tárgyalja, hogyan lehet egyéni szkriptet, parancsot vagy szolgáltatást hozzáadni az indításkor.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.