Kuidas käivitada Linuxi käske ja skripte süsteemi taaskäivitamisel automaatselt

How Run Linux Commands



Rakenduste ja skriptide automaatne käivitamine käivitamisel võib olla kasulik tavaliste alglaadimisülesannete ja sündmuste automatiseerimiseks. Selles artiklis selgitatakse mõningaid meetodeid, mida saab kasutada rakenduste ja skriptide käivitamiseks värskelt taaskäivitamisel või uuel sisselogimisel.

Käivitusrakendused

Ubuntu ja teiste GNOME -põhiste distributsioonidega on kaasas rakendus, mida nimetatakse lihtsalt käivitusrakendusteks. Seda saab kasutada rakenduste ja skriptide haldamiseks, mis töötavad uue süsteemi taaskäivitamisel või sisselogimisel.







Käivitage rakenduste käivitajast rakendus Startup Applications ja klõpsake uue kirje lisamiseks nuppu Lisa.





Täitke väljad Nimi ja Käsk vastavalt oma vajadustele ja seejärel klõpsake uue kirje loomise lõpetamiseks nuppu Lisa. Alloleval ekraanipildil loodud kirje saadab iga taaskäivituse / sisselogimise korral süsteemiteatisena meeldetuletuse „Tee varukoopia”. Saate selle asendada oma käsuga või bash -skripti täieliku teega. Võite kasutada ka mis tahes olemasolevat süsteemi käsku või käivitatavaid faile, mis asuvad tavaliselt failisüsteemi erinevates prügikasti kaustades.





Nagu eespool öeldud, kuvatakse igal taaskäivitamisel meeldetuletus.



Systemd

Systemd on deemon ja teenuste haldur, mis sisaldab erinevaid utiliite süsteemi protsesside ja OS -i komponentide haldamiseks. Lihtsustatud kujul kasutatakse seda tavaliselt teenuste käivitamiseks ja lõpetamiseks värskelt käivitamistsüklis.

Systemd saab kasutada rakenduse automaatseks käivitamiseks või skripti käivitamiseks uuel alglaadimisel. Sama varunduse meeldetuletusteatise loomiseks, nagu eespool selgitatud, peate kõigepealt looma vajalikud kaustad ja faili, käivitades järgmised käsud:

$mkdir -lk~/.config/süsteem/kasutaja
$nano~/.config/süsteem/kasutaja/backup_reminder.service

Asendage nano oma lemmiktekstiredaktori käsuga. Asendage backup_reminder mis tahes muu nimega, mida eelistate.

Kleepige allolev kood faili backup_reminder.service, mis on loodud ülaltoodud käsu abil.

[Ühik]
Kirjeldus = saadab igal taaskäivitamisel meeldetuletuse
PartOf = graphical-session.target

[Teenus]
ExecStart = bash -c 'uni 10; teata-saada 'Tee varukoopia'
Tüüp = üks löök

[Installi]
WantedBy = graphical-session.target

Ülaltoodud kood on üsna lihtne. See saadab 10 sekundi jooksul pärast graafilise seansi laadimist (üks kord iga taaskäivituse või sisselogimise korral) märguande Varundamine.

Teenuse lubamiseks käivitage allolevad käsud, et see saaks automaatselt käivituda igal taaskäivitamisel.

$chmod 644~/.config/süsteem/kasutaja/backup_reminder.service
$ systemctl--kasutaja lubadabackup_reminder.service
$ systemctl--kasutajadeemon-reload
$ taaskäivitus

See on vaid lihtne näide põhikäsu käivitamisest süsteemi abil. Samuti saate luua mitmete tingimuste ja mitme käsuga täiustatud teenuseid. Lisateabe saamiseks vaadake lehte systemd man, käivitades alloleva käsu:

$meessüsteem

Pange tähele, et see näide selgitab uue teenuse loomist, mis ei vaja juurjuurdepääsu ja sobib automaatselt käivituvate rakenduste jaoks, mis ei vaja juurõigusi. Kui soovite juurjuurdepääsu nõudvaid skripte automaatselt käivitada, peate kataloogi/etc/systemd/system asemel looma uue systemd-teenuse kataloogi ~/.config/systemd/user asemel ja jätma ülalpool mainitud käsklustes –lüliti välja.

Cron Job

Cron on tööriist, mis saab perioodiliselt käivitada ajastatud ülesandeid vastavalt kasutaja määratud tingimustele. Need ajastatud tööd luuakse Crontabis eelnevalt määratletud vormingus. Lihtsamalt öeldes ütleb Crontab Cronile, milliseid töid mis ajahetkel käivitada.

Nagu systemd, saab ka crontabi töid kasutada rakenduste käivitamiseks ja skriptide käivitamiseks automaatselt käivitamisel. Uue croni töö lisamiseks käivitage järgmine käsk:

$crontab-Ja

Lisage tekstifaili lõppu järgmised read (käivitab GNOME -terminali igal taaskäivitamisel automaatselt):

KOOR =/bin/bash
@reboot sleep 30 && DISPLAY =: 0 gnome-terminal

Võite kasutada oma käsku või esitada shelliskripti täieliku tee.

Pange tähele, et erinevalt süsteemist ei suuda cron tuvastada, kas graafiline seanss on laaditud või mitte. Peate määrama eeldatava ooteaja X -serveri laadimiseni ja kuvamise identifikaatori. Oma kuvatava ID kohta saate teada, kui käivitate alloleva käsu.

$viskas välja $ DISPLAY

Käsu või skripti täitmise viivitus sõltub teie süsteemi konfiguratsioonist ja alglaadimisajast.

Rc.kohalik

Teine meetod skriptide ja käskude käivitamiseks käivitamisel on faili rc.local kasutamine. Pange tähele, et minu testimisel ei suutnud ma skripti täitmist edasi lükata enne, kui graafiline seanss oli reaalajas. Unerežiimi viivituse lisamine viib sisselogimisekraani kuvamise viivitamiseni. Seetõttu ei õnnestunud mul käivitada käivitamisel graafilisi rakendusi, kasutades faili rc.local. Erinevalt kõigist teistest eespool kirjeldatud näidetest nõuab rc.local redigeerimine ka juurjuurdepääsu.

Käskude / skriptide lisamiseks rc.local -faili käivitage allolev käsk (loob uue rc.local -faili, kui seda pole):

$sudo nano /jne/rc.local

Lisage oma käsud #vahele! /bin/bash ja väljuge 0 rida, nagu allpool näidatud:

#! /bin/bash
tee/aadressile/my_script.sh
väljumine 0

Tehke rc.local fail käivitatavaks, käivitades järgmise käsu:

$sudo chmod+ x/jne/rc.local

Lihtsalt taaskäivitage, et käivitusskript jõustuks.

Järeldus

Need on mõned meetodid, mille abil saab käivitamisel skripte ja rakendusi automaatselt käivitada. Kui soovite käivitada skripte, mis ei vaja juurjuurdepääsu, soovitan kasutada käivitusrakenduste GUI -rakendust. Kui soovite rakendusi ja skripte käitada juurjuurdepääsuga, soovitan teil luua süsteemitaseme süsteemiteenus.

Autori kohta

Nitesh Kumar

Olen vabakutseline tarkvaraarendaja ja sisukirjutaja, kes armastab Linuxit, avatud lähtekoodiga tarkvara ja vaba tarkvara kogukonda.

Vaata kõiki postitusi