A következő konfiguráció egy alapvető példát mutat be arra, hogyan lehet végrehajtani a shell szkriptet a rendszerindításkor a systemd Linuxon. Különböző okok miatt lehet, hogy a Linux indításakor shell szkriptet akarunk végrehajtani, például egy adott egyéni szolgáltatás elindításához, a lemezterület ellenőrzéséhez, biztonsági mentés készítéséhez stb.
A következő példa az alábbiakban egy alapvető sablonként szolgál, amelyet később módosíthatunk az egyedi igényeinknek megfelelően. Az alábbi példában egy /home/
könyvtár lemezterületét fogjuk ellenőrizni a rendszerindítás során, és egy jelentést írunk a /root/
könyvtárba.
Systemd service unit
Először is létre kell hoznunk egy systemd indítószkriptet pl. disk-space-check.service
és a /etc/systemd/system/
könyvtárba kell helyeznünk. Az alábbiakban egy ilyen systemd indítószkriptre találunk példát:
After=mysql.serviceExecStart=/usr/local/bin/disk-space-check.shWantedBy=default.target
- After: Utasítja a systemd-t, hogy mikor fusson a szkript. Esetünkben a szkript a mysql adatbázis elindítása után fog futni. Más példa lehet
network.target
stb. - ExecStart:
- WantedBy: Milyen indítási célpontba kell telepíteni a systemd egységet
A fenti egy abszolút minimum, amit a systemd szolgáltatási egységünknek tartalmaznia kell ahhoz, hogy a szkriptünket indításkor végre tudjuk hajtani. További információkért és a használandó opciókért lásd a systemd.service
kézikönyv oldalát:
$ man systemd.service
Startup shell script
Ezután létrehozzuk a systemd indításakor végrehajtandó egyéni shell scriptünket. A hely és a szkript neve már meg van határozva a szolgáltatásegység által /usr/local/bin/disk-space-check.sh
. A szkript tartalma egyszerű lehet a következő:
#!/bin/bashdate > /root/disk_space_report.txtdu -sh /home/ >> /root/disk_space_report.txt
A UAF Geofizikai Intézet, tapasztalt Linux rendszerelemzőt keres a kutatói kiberinfrastruktúra elemzői és mérnökei csapatába. HELYZET: Fairbanks, Alaszka, USA
JELENTKEZÉS
Konfigurálás és telepítés
Mielőtt újraindítanánk a rendszerünket, futtathatóvá kell tennünk a szkriptünket:
# chmod 744 /usr/local/bin/disk-space-check.sh
Ezután telepítsük a systemd szolgáltatásegységet, és engedélyezzük, hogy a rendszerindításkor végrehajtódjon:
# chmod 664 /etc/systemd/system/disk-space-check.service# systemctl daemon-reload# systemctl enable disk-space-check.serviceCreated symlink from /etc/systemd/system/default.target.wants/disk-space-check.service to /etc/systemd/system/disk-space-check.service.
Ha újraindítás előtt szeretnénk tesztelni a szkriptünket, futtassuk:
# systemctl start disk-space-check.service# cat /root/disk_space_report.txt Thursday 7 July 11:30:25 AEST 20161.5G /home/
Minden készen áll. A Linux rendszer újraindítása után a fenti systemd egység meg fogja hívni a shell szkriptet, hogy az a rendszerindításkor végrehajtódjon.