Známé služby v Linuxu lze bez problémů přidat při spuštění systému, protože většina z nich má vlastní skript, který se provádí pomocí příkazů ‚chkconfig‘ a ‚systemctl‘.

Příklad pro přidání služby ‚Apache httpd‘ při startu systému spusťte jeden z následujících příkazů podle správce systému. Podobně můžete při startu přidat jakoukoli známou službu podle potřeby.

Pro systém Sys V init:

# chkconfig --level 35 httpd on

Pro systém systemd:

# systemctl enable httpd

Někdy může být potřeba přidat při startu/spouštění vlastní skript nebo příkaz či službu. Pokud ano, jak to udělat?“

V tomto článku si ukážeme, jak to realizovat pomocí následujících tří metod:

  • Pomocí /etc/rc.d/rc.local
  • Použití souboru crontab
  • jednotka služby systemd

Metoda-1: Použití souboru /etc/rc.d/rc.local

Soubor „/etc/rc.local“ se tradičně spouští po spuštění všech běžných služeb počítače na konci procesu přepnutí na víceuživatelskou úroveň běhu.

Tato metoda funguje i v systému systemd a je třeba přidat umístění vašeho skriptu do souboru „/etc/rc.d/rc.local“, který se spustí při startu systému.

Ujistěte se, že soubor má oprávnění ke spuštění.

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

Abychom to pochopili podrobněji, vytvoříme jednoduchý skript, jak je uvedeno níže, ale můžete vytvořit libovolný skript podle potřeby:

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

Jakmile je skript připraven, nastavte spustitelné oprávnění, jak je uvedeno níže:

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

Nakonec přidejte skript na konec souboru:

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

Restartujte systém, abyste to ověřili:

# reboot

Způsob-2: Použití souboru crontab

cron provádí naplánované úlohy automaticky v backendu v určitý čas.

Toho lze snadno dosáhnout pomocí speciálního řetězce "@reboot" s úlohou cron.

@reboot je speciální řetězec a umožňuje uživateli spustit libovolný příkaz nebo skript při spuštění systému (při startu).

Tento příklad spustí při restartu systému soubor ‚/opt/scripts/run-script-on-boot.sh‘.

Použijeme stejný skript, který byl vytvořen ve výše uvedeném příkladu. K tomu stačí do souboru crontab přidat následující položku:

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

Pro kontrolu restartujte systém:

# reboot

Metoda-3: Použití jednotky služby systemd

Tato metoda funguje pouze v systému systemd a je velmi jednoduchá.

Pro tento postup je třeba vytvořit spouštěcí skript systemd a umístit jej do adresáře „/etc/systemd/system/“.

Toto je náš vzorový jednotkový skript pro spuštění systemd:

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

Po umístění jednotkového skriptu do umístění systemd spusťte následující příkaz pro aktualizaci konfiguračních souborů systemd a povolení služby:

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

Restartujte systém a zkontrolujte to:

# reboot

Bonusové tipy:

Pokud chcete skript spouštět na pozadí, musíte přidat symbol koncového ampersandu "&".

/Path/To/My_Script &

Pokud chcete příkaz spustit jako jiný uživatel, použijte následující formát:

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

Závěr

Tento návod stručně pojednává o tom, jak přidat vlastní skript nebo příkaz či službu při spuštění.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.