GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So führen Sie Linux-Startskripts und -Befehle automatisch aus

Eine der fantastischen Funktionen von Linux-Systemen ist die Möglichkeit, es nach Ihren Wünschen zu optimieren und zu konfigurieren. Das Befehlszeilendienstprogramm, allgemein als Terminal bezeichnet, ermöglicht es Benutzern, Befehle an den Kernel zu übergeben und wichtige Aufgaben auszuführen. Es ist eines der vielen Features, die den Unterschied zwischen Linux und anderen Betriebssystemen hervorheben.

In diesem Beitrag werden wir eine der leistungsstarken Funktionen von Linux nutzen:die Fähigkeit, Skripte/Befehle und Anwendungen automatisch beim Start auszuführen. Dieser Prozess wird durchgeführt, um mehrere Dinge zu erreichen. Es kann von lustigen und einfachen Aufgaben wie dem Ändern des Hintergrundbilds bis hin zu komplizierten Dingen wie dem Sichern von Daten oder dem Verschlüsseln von Dateien reichen.

Linux-Skripte beim Start ausführen

Fangen wir an und sehen uns die verschiedenen Methoden an, mit denen wir Linux-Startskripts und -Befehle automatisieren können.

Methode 1:Verwenden Sie die GUI-App „Startup Applications“

Die meisten Methoden, die wir uns ansehen werden, erfordern die Befehlszeile. GNOME-basierte Distributionen verfügen jedoch über ein einfaches grafisches Dienstprogramm, das Sie verwenden können. Die „Startanwendungen.“ Es ist vorinstalliert und ein zuverlässiges Tool für Benutzer, die sich am Terminal nicht gerne die Hände schmutzig machen.

1. Starten Sie „Startanwendungen“ aus dem Anwendungsmenü.

2. Auf den „Startanwendungen“ Im Hauptfenster sehen Sie rechts drei Optionen; Hinzufügen , Entfernen und Bearbeiten . Um unser erstes automatisiertes Skript zu erstellen, klicken Sie auf „Hinzufügen“ Schaltfläche.

3. Ein Pop-Fenster wird geöffnet. Geben Sie den Namen Ihres Startskripts oder -programms ein. Geben Sie im Befehlsabschnitt den Befehl ein, den Sie ausführen möchten – sagen Sie „sudo mkdir /home/tuts/Desktop/My-Test-Script .“ Alternativ können Sie den vollständigen Pfad zu Ihrem Bash-Skript oder ausführbaren Systembefehl in die verschiedenen „bin“ eingeben ‘ Verzeichnisse.

Der obige Befehl gibt mir immer eine Benachrichtigung auf meinem Bildschirm, um mein System nach jedem Start zu aktualisieren. Das ist nur ein einfaches Beispiel. Sie können erweiterte Bash-Skripte schreiben, um verschiedene Aufgaben auszuführen. Wenn Sie gerade erst mit Bash-Scripting beginnen, sehen Sie sich hier einige Bash-For-Loop-Beispiele an.

Methode 2:Cron-Job verwenden

Cron ist ein Linux-Daemon, der vom Benutzer bearbeitete Aufgaben gemäß den Angaben des Benutzers ausführt. Diese geplanten Aufgaben werden in die Crontab-Datei geschrieben. Es teilt dem Cron mit, welche Jobs zu welcher Zeit und unter welchen Ereignissen ausgeführt werden sollen.

Das grundlegende Format einer Crontab-Datei ist:

[Minute] [Stunde] [DayOfMonth] [MonthOfYear] [DayOfWeek] [das Skript, das Sie ausführen möchten].

Für die Ausführung von Skripten beim Start verwenden wir jedoch @reboot Parameter. Wenn Ihnen das alles neu vorkommt, lesen Sie bitte unseren Artikel über Crontab in Linux erklärt mit Beispielen.

Um zu beginnen, fügen Sie einen neuen Cron-Job hinzu, führen Sie den folgenden Befehl auf dem Terminal aus.

$ crontab -e

Wenn Sie dies noch nie zuvor getan haben, sehen Sie eine Option zur Auswahl Ihres Standard-Editors, wie unten gezeigt. Ich würde nano empfehlen denn es ist viel einfacher und unkomplizierter. In meinem Fall gebe ich hier „1.“ ein.

Wir schreiben ein einfaches Skript, das beim Start ein neues Verzeichnis auf dem Desktop erstellt.

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

Methode 3:Verwenden Sie /rc.local

Eine andere Methode zum Ausführen von Skripten und Befehlen beim Start ist die Verwendung der Datei /rc.local. Führen Sie zunächst den folgenden Befehl auf dem Terminal aus.

sudo nano /etc/rc.local

Dieser Befehl öffnet die Datei rc.local im Nano-Editor. Wenn es nicht vorhanden wäre, würde es eines erstellen. Geben Sie Ihre Befehle zwischen den #! /bin/bash und Ausgang 0 Linien. Sie können hier auch den vollständigen Pfad zu Ihrem Bash-Skript angeben.

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

Jetzt müssen wir die /rc.local erstellen Datei ausführbar. Führen Sie den folgenden Befehl aus:

sudo chmod +x /etc/rc.local

Wenn Sie fertig sind, starten Sie Ihren PC neu und sehen Sie, wie die Änderungen wirksam werden.

Methode 4:Systemd

Systemd ist eine Software-Suite, die verschiedene Dienstprogramme zur Verwaltung von Systemdiensten und Betriebssystemprozessen enthält. Der systemd startet Dienste und Prozesse beim Booten.

Wir können Systemd verwenden, um unsere Skripte und Befehle beim Start zu automatisieren. Lassen Sie uns ein Programm erstellen und automatisieren, das uns benachrichtigt, das System mit Systemd zu aktualisieren.

Lassen Sie uns zunächst den erforderlichen Ordner und die Datei angeben, in die wir unsere Befehle schreiben werden. Führen Sie die folgenden Befehle aus:

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

Nach dem zweiten Befehl öffnet sich der Nano-Editor, fügen Sie die folgenden Befehle hier ein.

[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

Diese Befehle sind ziemlich einfach. Das System sendet die "Update-Erinnerung" 10 Sekunden, nachdem die grafische Sitzung nach dem Start geladen wurde.

Um nun sicherzustellen, dass das Skript nach jedem Start geladen wird, müssen wir es ausführbar machen. Führen Sie die folgenden Befehle aus.

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

Das ist eine einfache Möglichkeit, wie wir Skripte mit Systemd beim Start automatisieren können. Die obige Methode führt Skripte aus, die keinen Root-Zugriff erfordern. Wenn Sie ein Skript erstellen möchten, das Root-Zugriff benötigt, erstellen Sie einen systemd-Dienst in „/etc/systemd/system“ Ordner anstelle von “~/.config/systemd/user” Verzeichnis. Außerdem müssen Sie das Wort „Benutzer“ weglassen im obigen Befehl enthalten.

Schlussfolgerung

Dies sind vier Methoden, die Sie verwenden können, um Linux-Startskripts und -Befehle beim Start automatisch auszuführen. Wenn Sie einfache Skripts erstellen, für deren Ausführung keine erhöhten Berechtigungen erforderlich sind, empfehle ich die Verwendung der „Startanwendung“ GUI-App oder ein einfacher Cron-Job. Wenn Ihre Skripte Root-Zugriff benötigen, sollten Sie eine Systemd erstellen Dienst.


Linux
  1. So führen Sie Befehle/Skripte während des Neustarts oder Starts automatisch aus

  2. So deaktivieren Sie Befehle zum Herunterfahren und Neustarten in Linux

  3. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  4. Linux-Befehle – Übersicht und Beispiele

  5. So beschränken Sie Benutzerbefehle in Linux

So können Sie vergessene Linux-Befehle einfach abrufen

So verwenden Sie die Befehle Pbcopy und Pbpaste unter Linux

So überprüfen Sie den Verlauf der Linux-Befehle nach Datum

So installieren und verwenden Sie den Befehl locate unter Linux

So verwenden Sie den Echo-Befehl in Bash-Skripten unter Linux

So installieren und verwenden Sie den fd-Befehl unter Linux