Jak uruchomić skrypt podczas uruchamiania CentOS Linux

14

Włożyłem jeden skrypt /etc/init.d/abc.sh. Teraz chcę, aby działał podczas uruchamiania.

Jak mogę to zrobić za pomocą chkconfig?

chkconfig --add abc.sh

Ale nie jestem pewien, jak to działa.

Miraż
źródło
Na stronie linuxjournal.com/article/4445
RedGrittyBrick

Odpowiedzi:

9

Skrypty uruchamiane podczas uruchamiania nie są uważane za skrypt - jeśli chcesz, aby skrypt był uruchamiany podczas uruchamiania, zmień następujące ustawienia w /etc/crontab:

@reboot /path/to/script
saravanakumar
źródło
1
Czy działałby jako użytkownik root, gdyby został umieszczony w cronie?
The Unknown Dev,
2
To genialny pomysł! Jest przenośny i prosty. Nie szkodzi to butowi. Przychodzi po uruchomieniu modułów systemowych z dokładnymi uprawnieniami użytkownika ... W moim przypadku na centos 7 będzie to „@reboot root / path / to / script”
Nicolas Guérinet
8

Często po prostu używam

/etc/rc.local

Więc jak ...

echo "/etc/init.d/abc.sh" >> /etc/rc.local

powinien cię za to zhakować. Prawdopodobnie są bardziej odpowiednie miejsca, ale cokolwiek, to działa, na większości dystrybucji wydaje się.

James T. Snell
źródło
ten skrypt jest demonem, a ja mamabc start stop restart configurd
Mirage
Być może chcesz to nazwać, wpisując: „usługa abc start”
James T Snell,
2

Zobacz inne, istniejące skrypty inicjujące. W każdym właściwym skrypcie inicjującym w stylu rh znajdują się trzy wskazówki: poziomy uruchamiania, w których skrypt powinien zostać uruchomiony, oraz priorytet, w którym należy go uruchomić / zatrzymać. Suma start + stop powinna zwykle wynosić 100.

Ten wiersz komentarza jest oceniany przez chkconfig.

Nils
źródło
1

Nie możesz, dopóki nie przeczytasz /usr/share/doc/initscripts-*/sysvinitfilesi nie skonstruujesz odpowiednio skryptu.

Ignacio Vazquez-Abrams
źródło
1

Jesteś na dobrej drodze. Twój skrypt bash znajduje się we właściwej lokalizacji i dodałeś go do swojego chkconfig, co oznacza, że ​​skrypt jest zainstalowany.

Pamiętaj, że /etc/init.djest to symboliczny link do/etc/rc.d/init.d

Po dodaniu skryptu musisz wybrać poziom uruchamiania, na którym chcesz go aktywować: chkconfig --level 35 abc onaktywuje skrypt na poziomach 3 i 5, najczęściej uruchamianych przez Ciebie startupach.

Proszę skonsultować się chkconfig --helppo więcej informacji.

PS. możesz także użyć, ntsysvktóry jest tui dla chkconfig.

Dejan
źródło