Linux -komentojen ja komentosarjojen automaattinen suorittaminen järjestelmän uudelleenkäynnistyksessä

How Run Linux Commands

Sovellusten ja komentosarjojen automaattinen suorittaminen käynnistyksen yhteydessä voi olla hyödyllistä tavallisten käynnistystehtävien ja tapahtumien automatisoinnissa. Tässä artikkelissa selitetään muutamia menetelmiä, joita voidaan käyttää sovellusten ja komentosarjojen käynnistämiseen uudelleenkäynnistyksen tai uuden kirjautumisen yhteydessä.

Käynnistyssovellukset

Ubuntu ja muut GNOME -pohjaiset jakelut sisältävät sovelluksen, jota kutsutaan yksinkertaisesti käynnistyssovelluksiksi. Sitä voidaan käyttää sovellusten ja komentosarjojen hallintaan, jotka toimivat uudella järjestelmän uudelleenkäynnistyksellä tai kirjautumisella.

Käynnistä käynnistyssovellukset sovellusten käynnistysohjelmasta ja lisää uusi merkintä napsauttamalla Lisää -painiketta.





Täytä Nimi- ja Komento -kentät tarpeidesi mukaan ja lopeta uuden merkinnän luominen napsauttamalla Lisää -painiketta. Alla olevaan kuvakaappaukseen luotu merkintä lähettää Tee varmuuskopio -muistutuksen järjestelmäilmoituksena jokaisesta uudelleenkäynnistyksestä / kirjautumisesta. Voit korvata sen omalla komennollasi tai bash -komentosarjasi täydellä polulla. Voit myös käyttää mitä tahansa olemassa olevaa järjestelmäkomentoa tai suoritettavia tiedostoja, jotka yleensä sijaitsevat tiedostojärjestelmän eri lokeroissa.

Kuten edellä todettiin, varmuuskopiointimuistutus näkyy jokaisen uudelleenkäynnistyksen yhteydessä.



Systemd

Systemd on demoni ja palvelunhallinta, joka sisältää erilaisia ​​apuohjelmia järjestelmän prosessien ja käyttöjärjestelmän osien hallintaan. Yksinkertaistetussa muodossaan sitä käytetään tyypillisesti palveluiden käynnistämiseen ja lopettamiseen uudella käynnistysjaksolla.

Systemdillä voidaan käynnistää sovellus automaattisesti tai suorittaa komentosarja uudessa käynnistyksessä. Jos haluat luoda saman varmuuskopiointimuistutusilmoituksen yllä, sinun on ensin luotava tarvittavat kansiot ja tiedosto suorittamalla alla olevat komennot:

$mkdir -p~/.config/järjestelmä/käyttäjä
$nano~/.config/järjestelmä/käyttäjä/backup_reminder.service

Korvaa nano suosikkitekstieditorisi komennolla. Korvaa backup_reminder millä tahansa muulla haluamallasi nimellä.

Liitä alla oleva koodi yllä olevalla komennolla luotuun backup_reminder.service -tiedostoon.

[Yksikkö]
Kuvaus = Lähetä muistutus varmuuskopiosta jokaisen uudelleenkäynnistyksen yhteydessä
PartOf = graphical-session.target

[Palvelu]
ExecStart = bash -c 'uni 10; ilmoita-lähetä 'Tee varmuuskopio'
Kirjoita = yksi laukaus

[Asentaa]
WantedBy = graphical-session.target

Yllä oleva koodi on melko yksinkertainen. Se lähettää Tee varmuuskopio -ilmoituksen 10 sekunnin kuluttua graafisen istunnon lataamisesta (kerran jokaisen uudelleenkäynnistyksen tai kirjautumisen yhteydessä).

Ota palvelu käyttöön suorittamalla alla olevat komennot, jotta se voidaan suorittaa automaattisesti jokaisen uudelleenkäynnistyksen yhteydessä.

$chmod 644~/.config/järjestelmä/käyttäjä/backup_reminder.service
$ systemctl--käyttäjä ota käyttöönbackup_reminder.service
$ systemctl--käyttäjädaemon-lataa
$ uudelleenkäynnistys

Tämä on vain yksinkertainen esimerkki peruskomennon suorittamisesta käynnistyksen yhteydessä systemd -järjestelmällä. Voit myös luoda lisäpalveluja, joissa on useita ehtoja ja useita komentoja. Lisätietoja on systemd -man -sivulla suorittamalla alla oleva komento:

$miesjärjestelmä

Huomaa, että tämä esimerkki selittää uuden palvelun luomisen, joka ei vaadi pääkäyttäjän oikeuksia ja sopii automaattisesti käynnistyville sovelluksille, jotka eivät vaadi pääkäyttäjän oikeuksia. Jos haluat käynnistää pääkäyttäjän oikeudet vaativat komentosarjat automaattisesti, sinun on luotava uusi systemd-palvelu hakemistossa/etc/systemd/system hakemiston ~/.config/systemd/user sijaan ja jätettävä käyttäjäkytkin pois edellä mainituista komennoista.

Cron Job

Cron on työkalu, joka voi ajoittain suorittaa ajoitettuja tehtäviä käyttäjän määrittämien ehtojen mukaisesti. Nämä ajoitetut työt luodaan Crontabissa ennalta määritetyssä muodossa. Yksinkertaisesti sanottuna Crontab kertoo Cronille, mitkä työt suoritetaan milloin tahansa.

Kuten systemd, crontab -töitä voidaan käyttää sovellusten käynnistämiseen ja komentosarjojen suorittamiseen automaattisesti käynnistyksen yhteydessä. Jos haluat lisätä uuden cron -työn, suorita alla oleva komento:

$crontab-Ja

Lisää seuraavat rivit tekstitiedoston loppuun (käynnistää GNOME -päätelaitteen automaattisesti jokaisen uudelleenkäynnistyksen yhteydessä):

SHELL =/bin/bash
@reboot sleep 30 && DISPLAY =: 0 gnome-pääte

Voit käyttää omaa komentoasi tai toimittaa kuoren komentosarjan koko polun.

Huomaa, että toisin kuin systemd, cron ei voi havaita, onko graafinen istunto ladattu vai ei. Sinun on määritettävä arvioitu odotusaika X -palvelimen lataamiseen ja näyttötunniste. Näyttötunnuksesi saat selville suorittamalla alla olevan komennon:

$heitti pois $ DISPLAY

Viive ennen komennon tai komentosarjan suorittamista riippuu järjestelmän kokoonpanosta ja käynnistymisajasta.

Rc. Paikallinen

Toinen tapa suorittaa komentosarjoja ja komentoja käynnistettäessä on käyttää rc.local -tiedostoa. Huomaa, että testauksessani en voinut lykätä komentosarjan suorittamista ennen kuin graafinen istunto oli käynnissä. Unen viiveen lisääminen viivästyttää itse kirjautumisnäytön näyttämistä. Tämän vuoksi minulla ei onnistunut suorittamaan graafisia sovelluksia käynnistettäessä rc.local -tiedoston avulla. Rc.localin muokkaaminen vaatii myös pääkäyttäjän oikeudet, toisin kuin kaikki muut edellä selitetyt esimerkit.

Jos haluat lisätä komentoja / komentosarjoja rc.local -tiedostoon, suorita alla oleva komento (luo uuden rc.local -tiedoston, jos sitä ei ole):

$sudo nano /jne/rc.local

Lisää komennot välille #! /bin/bash ja exit 0 riviä, kuten alla on esitetty:

#! /bin/bash
polku/kohteeseen/my_script.sh
poistua 0

Tee rc.local -tiedosto suoritettavaksi suorittamalla alla oleva komento:

$sudo chmod+ x/jne/rc.local

Käynnistä vain uudelleen, jotta käynnistysskripti tulee voimaan.

Johtopäätös

Nämä ovat muutamia menetelmiä, joita voidaan käyttää skriptien ja sovellusten automaattiseen suorittamiseen käynnistyksen yhteydessä. Jos haluat suorittaa komentosarjoja, jotka eivät vaadi pääkäyttäjän oikeutta, suosittelen käyttämään Startup Applications GUI -sovellusta. Jos haluat käyttää sovelluksia ja komentosarjoja pääkäyttäjän oikeuksilla, suosittelen luomaan järjestelmätason järjestelmäpalvelun.

Kirjailijasta

Nitesh Kumar

Olen freelancer -ohjelmistokehittäjä ja sisällön kirjoittaja, joka rakastaa Linuxia, avoimen lähdekoodin ohjelmistoja ja ilmaisia ​​ohjelmistoyhteisöjä.

Näytä kaikki viestit