Wyszukiwanie w witrynie

Jak automatycznie wykonywać polecenia/skrypty podczas ponownego uruchamiania lub uruchamiania


Zawsze fascynuje mnie to, co dzieje się za kulisami, gdy uruchamiam system Linux i loguję się. Naciskając przycisk zasilania na gołym metalu lub uruchamiając maszynę wirtualną, uruchamiasz serię zdarzeń, które prowadzą do w pełni funkcjonalnego systemu – czasami w mniej niż minutę. To samo dotyczy wylogowania i/lub zamknięcia systemu.

Tym, co czyni to bardziej interesującym i zabawnym, jest fakt, że system operacyjny może wykonywać określone działania podczas uruchamiania oraz podczas logowania lub wylogowywania się.

W tym dystroagnostycznym artykule omówimy tradycyjne metody osiągania tych celów w Linuksie.

Uwaga: założymy, że Bash będzie używany jako główna powłoka podczas zdarzeń logowania i wylogowania. Jeśli zdarzy ci się użyć innego, niektóre z tych metod mogą, ale nie muszą, zadziałać. W razie wątpliwości zapoznaj się z dokumentacją swojej powłoki.

Wykonywanie skryptów systemu Linux podczas ponownego uruchamiania lub uruchamiania

Istnieją dwie tradycyjne metody wykonywania poleceń lub uruchamiania skryptów podczas uruchamiania:

Metoda nr 1 – Użyj zadania cron

Oprócz zwykłego formatu (minuta/godzina/dzień miesiąca/miesiąc/dzień tygodnia), który jest powszechnie używany do wskazywania harmonogramu, program planujący cron umożliwia również użycie @reboot. Ta dyrektywa, po której następuje bezwzględna ścieżka do skryptu, spowoduje jego uruchomienie po uruchomieniu komputera.

Istnieją jednak dwa zastrzeżenia dotyczące tego podejścia:

  1. a) demon cron musi być uruchomiony (co ma miejsce w normalnych okolicznościach) oraz
  2. b) skrypt lub plik crontab musi zawierać zmienne środowiskowe (jeśli istnieją), które będą potrzebne (więcej szczegółów można znaleźć w tym wątku StackOverflow).

Metoda nr 2 – Użyj /etc/rc.d/rc.local

Ta metoda jest poprawna nawet w przypadku dystrybucji opartych na systemie. Aby ta metoda zadziałała, musisz przyznać uprawnienia do wykonywania /etc/rc.d/rc.local w następujący sposób:

chmod +x /etc/rc.d/rc.local

i dodaj swój skrypt na dole pliku.

Poniższy obraz pokazuje, jak uruchomić dwa przykładowe skrypty (/home/gacanepa/script1.sh i /home/gacanepa/script2.sh) przy użyciu cron< odpowiednio praca i rc.local oraz ich wyniki.

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
#!/bin/bash
SITE="linux-console.net"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt

Należy pamiętać, że oba skrypty muszą mieć wcześniej przyznane uprawnienia do wykonywania:

chmod +x /home/gacanepa/script1.sh
chmod +x /home/gacanepa/script2.sh

Wykonywanie skryptów systemu Linux podczas logowania i wylogowywania

Aby wykonać skrypt podczas logowania lub wylogowywania, użyj odpowiednio ~.bash_profile i ~.bash_logout. Najprawdopodobniej konieczne będzie ręczne utworzenie tego ostatniego pliku. Po prostu upuść linię wywołującą skrypt na dole każdego pliku w taki sam sposób jak poprzednio i gotowe.

Streszczenie

W tym artykule wyjaśniliśmy, jak uruchamiać skrypt podczas ponownego uruchamiania, logowania i wylogowywania. Jeśli przychodzą Ci do głowy inne metody, które moglibyśmy tu uwzględnić, skorzystaj z poniższego formularza komentarza, aby je wskazać. Oczekujemy na kontakt zwrotny!