GNU/Linux >> Znalost Linux >  >> Linux

Jak automaticky spouštět spouštěcí skripty a příkazy Linuxu

Jednou z fantastických funkcí systémů Linux je schopnost vyladit a nakonfigurovat jej podle vašich představ. Nástroj příkazového řádku, běžně označovaný jako terminál, umožňuje uživatelům předávat příkazy jádru a provádět klíčové úkoly. Je to jedna z mnoha funkcí, které odhalují rozdíl mezi Linuxem a jinými operačními systémy.

V tomto příspěvku využijeme jednu z výkonných funkcí Linuxu:schopnost spouštět skripty/příkazy a aplikace automaticky při spuštění. Tento proces se provádí za účelem dosažení několika věcí. Může sahat od zábavných a přímočarých úkolů, jako je změna tapety, až po složité věci, jako je zálohování dat nebo šifrování souborů.

Spouštění skriptů pro Linux při spuštění

Začněme a podívejme se na různé metody, které můžeme použít k automatizaci spouštěcích skriptů a příkazů Linuxu.

Metoda 1:Použijte aplikaci GUI „Startup Applications“

Většina metod, na které se podíváme, vyžaduje příkazový řádek. Distribuce založené na GNOME však mají jednoduchý grafický nástroj, který můžete použít. „Aplikace po spuštění“ Dodává se předinstalovaný a je to spolehlivý nástroj pro uživatele, kteří si neradi špiní ruce od terminálu.

1. Spusťte „Aplikace po spuštění“ z nabídky aplikací.

2. Na stránce „Aplikace po spuštění“ hlavní okno, vpravo uvidíte tři možnosti; Přidat , Odebrat a Upravit . Chcete-li vytvořit náš první automatický skript, klikněte na tlačítko Přidat tlačítko.

3. Otevře se vyskakovací okno. Zadejte název spouštěcího skriptu nebo programu. V sekci příkazů zadejte příkaz, který chcete provést – řekněte ‘sudo mkdir /home/tuts/Desktop/My-Test-Script .‘ Případně můžete zadat úplnou cestu ke skriptu bash nebo spustitelnému systémovému příkazu do různých ‘bin ‘ adresáře.

Výše uvedený příkaz mi vždy po každém spuštění zobrazí na obrazovce upozornění na aktualizaci systému. To je jen jednoduchý příklad. Můžete psát pokročilé bash skripty pro provádění různých úkolů. Pokud se skriptováním bash teprve začínáte, podívejte se na některé příklady Bash For Loop zde.

Metoda 2:Použijte Cron Job

Cron je linuxový démon, který provádí uživatelem upravované úlohy, jak je specifikuje uživatel. Tyto naplánované úlohy jsou zapsány v souboru crontab. Sděluje cronu, které úlohy má spustit v kterou dobu a pod jakými událostmi.

Základní formát souboru crontab je:

[minuta] [hodina] [DayOfMonth] [MonthOfYear] [DayOfWeek] [skript, který chcete spustit].

Pro spouštění skriptů při spuštění však použijeme @reboot parametr. Pokud vám to všechno zní jako nové, přečtěte si prosím náš článek o Crontabu v Linuxu s příklady.

Chcete-li začít, přidejte novou úlohu cron a spusťte níže uvedený příkaz v Terminálu.

$ crontab -e

Pokud jste to nikdy předtím neudělali, zobrazí se možnost vybrat si výchozí editor, jak je uvedeno níže. Doporučil bych nano protože je to velmi jednoduché a přímočaré. V mém případě zde zadám ‚1.‘

Napíšeme jednoduchý skript, který při startu vytvoří nový adresář na Ploše.

SHELL=/bin/bash
@reboot sleep 30 && DISPLAY=:0 My-Test-Directory

Metoda 3:Použijte /rc.local

Další metodou spouštění skriptů a příkazů při spuštění je použití souboru /rc.local. Chcete-li začít, spusťte níže uvedený příkaz v Terminálu.

sudo nano /etc/rc.local

Tento příkaz otevře soubor rc.local v editoru nano. Pokud by nebyl přítomen, vytvořil by ho. Zadejte své příkazy mezi #! /bin/bash a ukončení 0 linky. Zde také můžete uvést úplnou cestu ke svému bash skriptu.

#! /bin/bash
//path-to-your-bash-script
exit 0

Nyní musíme vytvořit /rc.local spustitelný soubor. Spusťte níže uvedený příkaz:

sudo chmod +x /etc/rc.local

Po dokončení restartujte počítač a uvidíte, jak se změny projeví.

Metoda 4:Systemd

Systemd je softwarová sada, která obsahuje různé nástroje pro správu systémových služeb a procesů OS. Systemd spouští služby a procesy při bootování.

Systemd můžeme použít k automatizaci našich skriptů a příkazů při spuštění. Pojďme vytvořit a automatizovat program, který nás upozorní na aktualizaci systému pomocí Systemd.

Chcete-li začít, udělejte si požadovanou složku a soubor, kam budeme psát naše příkazy. Spusťte níže uvedené příkazy:

$ mkdir -p ~/.config/systemd/user
$ nano ~/.config/systemd/user/update-notifier.service

Po druhém příkazu se otevře nano editor, sem vložte níže uvedené příkazy.

[unit]
Description=Reminder to Update System
PartOf=graphical-session-target

[Service]
ExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"
Type=oneshot

[Install]
WantedBy=graphical-session.target

Tyto příkazy jsou docela jednoduché. Systém odešle „Update-Reminder“ 10 sekund po načtení grafické relace po spuštění.

Nyní, abychom zajistili, že se skript načte po každém spuštění, musíme jej nastavit jako spustitelný. Spusťte níže uvedené příkazy.

$ chmod 644 ~/.config/systemd/user/update-notifier.service
$ systemctl --user enable update-notifier.service
$ systemctl --user daemon-reload
$ reboot

To je jednoduchý způsob, jak můžeme automatizovat skripty pomocí Systemd při spuštění. Výše uvedená metoda spouští skripty, které nevyžadují přístup root. Pokud chcete vytvořit skript, který potřebuje přístup root, vytvořte službu systemd v “/etc/systemd/system“ místo „~/.config/systemd/user“ adresář. Také budete muset vynechat slovo „uživatel“ zahrnuto ve výše uvedeném příkazu.

Závěr

Toto jsou čtyři metody, které můžete použít k automatickému spuštění spouštěcích skriptů a příkazů systému Linux při spuštění. Pokud vytváříte jednoduché skripty, které ke spuštění nevyžadují zvýšená oprávnění, doporučuji použít ‘Po spuštění aplikace’ GUI aplikace nebo jednoduchá úloha cron. Pokud vaše skripty potřebují přístup root, zvažte vytvoření Systemd službu.


Linux
  1. Jak automaticky spouštět příkazy/skripty během restartu nebo spouštění

  2. Jak zakázat příkazy vypnutí a restartu v Linuxu

  3. Linuxové příkazy:jobs, bg a fg

  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Linuxové příkazy – přehled a příklady

  3. Jak uložit příkazy Linuxu a používat je na vyžádání

  1. Linux Tail Command:Co to je a jak jej používat

  2. 5 způsobů, jak spouštět příkazy UNIX / Linux (a skripty Shell) na pozadí

  3. Jak omezit uživatelské příkazy v Linuxu