Účelem tohoto článku je nakonfigurovat skript, jako je skript Bash nebo skript Python, aby se spouštěl při spuštění systému v Ubuntu 22.04 Jammy Jellyfish Server/Desktop.
V tomto tutoriálu se naučíte:
- Jak vytvořit servisní jednotku Systemd
- Jak vytvořit jednoduchý skript pro kontrolu místa na disku
- Jak nastavit oprávnění k souboru servisní jednotky Systemd
- Jak nastavit oprávnění skriptu
- Jak povolit spuštění servisní jednotky Systemd při spuštění systému
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Ubuntu 22.04 Jammy Jellyfish |
Software | Není k dispozici |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Jak spustit skript při spuštění na Ubuntu 22.04 krok za krokem
Ubuntu 22.04 je založeno na Systemd, takže nejjednodušším a doporučeným způsobem, jak spustit skript při spuštění, je vytvořit soubor služby Systemd a pomocí této služby spustit jakýkoli skript, jako je bash, python atd. během spouštění systému.
Níže uvedené kroky vám ukáží spuštění příkladu bash skriptu, který hlásí využití místa na disku pro /home
a uloží sestavu do /root
adresář při každém spuštění systému Ubuntu 22.04.
- Nejprve vytvořte soubor služby Systemd jako v příkladu níže. Tento soubor uložíme jako
/etc/systemd/system/disk-space-check.service
.[Unit] After=network.service [Service] ExecStart=/usr/local/bin/disk-space-check.sh [Install] WantedBy=default.target
Po :Instruuje systemd, kdy má být skript spuštěn. V našem případě se skript spustí po připojení k síti. Dalším příkladem může být mysql.target atd.
ExecStart :Toto pole poskytuje úplnou cestu ke skutečnému skriptu, který se má spustit při spuštění
WantedBy :Do jakého spouštěcího cíle by se měla systémová jednotka nainstalovatPOZNÁMKA
Pro více informací o tom, jak vytvořit servisní jednotku Systemd, spusťteman systemd.unit
příkaz. - Vytvořte skript, který bude spuštěn při spuštění systému Ubuntu. Jak je uvedeno ve výše uvedeném kroku 1, cesta a název nového skriptu v našem příkladu budou
/usr/local/bin/disk-space-check.sh
.Níže je uveden příklad takového skriptu:
#!/bin/bash date > /root/disk_space_report.txt du -sh /home/ >> /root/disk_space_report.txt
- Nastavte příslušná oprávnění jak pro servisní jednotku Systemd, tak pro skript:
$ sudo chmod 744 /usr/local/bin/disk-space-check.sh $ sudo chmod 664 /etc/systemd/system/disk-space-check.service
- Dále povolte servisní jednotku:
$ sudo systemctl daemon-reload $ sudo systemctl enable disk-space-check.service
- Nyní jste připraveni restartovat systém. Po nabootování systému byste měli vidět následující soubor obsahující využití místa na disku ve vašem
/root
adresář:$ sudo ls /root/ disk_space_report.txt
Úvahy na závěr
V tomto tutoriálu jsme viděli, jak nakonfigurovat Ubuntu 22.04 tak, aby spustil skript při každém spuštění systému. Toto je užitečná funkce, kterou mohou správci systému implementovat, aby se ujistili, že skript Bash nebo Python bude spuštěn pokaždé, když se Ubuntu načte po restartu systému.