V tomto článku se dozvíte, jak spouštět skript (python, bash atd.) při spuštění na Ubuntu 20.04 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

Požadavky na software a použité konvence
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Nainstalováno Ubuntu 20.04 nebo upgradované Ubuntu 20.04 Focal Fossa |
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 20.04 krok za krokem
Ubuntu 20.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 spustit jakýkoli skript, jako je bash, python atd., prostřednictvím této služby 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.
- Nejprve vytvořte soubor služby Systemd jako v příkladu níže:
[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 měla být systémová jednotka nainstalovánaPOZNÁ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 je
/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