Linux rc0.d, rc6.d - Jak wykonać zadanie podczas wyłączania, lub resetu komputera
Dalszy ciąg artykułu na temat wykonywania skryptów, programów i poleceń w czasie zdarzeń takich jak włączanie, wyłączanie czy restart systemu.
Część pierwsza artykułu
W b>pierwszej części tego wpisu, dostępnej tutaj - Linux rc.local, omówiliśmy, w jaki sposób wykonać skrypt w czasie włączania komputera. Jeśli nie dane Ci było przeczytać pierwszej części, to zachęcam do przejrzenia go, ponieważ zawiera również kilka istotnych uwag wstępnych, których nie będę tutaj powtarzać.
Zdarzenie wyłączenia komputera
W katalogu /etc/ znajduje się sześć podkatalogów o nazwie rc*.d, gdzie gwiazdka to cyfra z zakresu 0-6. Są to katalogi, w których znajdują się skrypty (czy częściej dowiązania do nich), które wykonywane są podczas odpowiednich zdarzeń. W tym wypadku interesować nas będzie katalog o ścieżce /etc/rc0.d/, ponieważ, to jego zawartość wykonywana jest podczas wyłączania komputera. Zajrzyjmy, jaką ma zawartość:$ ls /etc/rc0.d/ K09apache2 K20winbind S30urandom K19sendmail K31atieventsd S31umountnfs.sh K20postfix K74bluetooth S35networking K20pppstatus K80openvpn S40umountfs K20speech-dispatcher README S60umountroot K20vboxballoonctrl-service S01Synchronize.sh S90halt K20vboxdrv S10unattended-upgrades K20vboxweb-service S20sendsigs
Znamy już teorię, która wystarczy nam do praktycznego działania. Nietrudno się pewnie domyśleć, że aby wykonać jakąś operację w czasie wyłączania systemu, należy umieścić w katalogu /etc/rc0.d/ swój skrypt lub dowiązanie do niego, pamiętając o zachowaniu konwencji nazw oraz kolejności wykonywania skryptów. Żeby było bardziej elegancko, stwórzmy dowiązanie do przykładowego skryptu znanego nam z pierwszej części artykułu:
Zdarzenie resetu komputera
Jeśli chodzi o dołączenie skryptu, który będzie miał być wykonany w czasie restartu systemu, występuje pełna analogia do powyższego przykładu, tyle że interesować nas będzie katalog /etc/rc6.d/, ponieważ to jego zawartość wykonywana jest w czasie rebootu. Sprawdźmy, co ten katalog zawiera:$ ls /etc/rc6.d/ K09apache2 K20winbind S31umountnfs.sh K19sendmail K31atieventsd S35networking K20postfix K74bluetooth S40umountfs K20pppstatus K80openvpn S60umountroot K20speech-dispatcher README S90reboot K20vboxballoonctrl-service S10unattended-upgrades K20vboxdrv S20sendsigs K20vboxweb-service S30urandom
Komentarze (3)