Strona 1 z 1
kolejność wykonywania skryptów/programów - cron i rc.local
: 16 mar 2011, 08:12
autor: 00marcinek00
Witam
Chciałbym się was zapytać, jaka jest kolejność wykonywania skryptów/programów/poleceń które są dodane w plikach rc.local (uruchamianie programów przy starcie systemu) oraz crontab (określone wykonywanie poleceń itp). Bo wiem że rcX.d mają różne priorytety/level uruchamiania przy starcie a nie wiem jakie priorytety mają właśnie crontab i rc.local, nie wiem który pierwszy kolejności zadziała. Chciałbym żeby crontab co jakiś czas zapisywał ustawienia iptables a rc.local żeby przywracał ustawienia iptables przy starcie. Bo nie wiem czy nie będzie w jakiś sposób kolidować ze sobą np: za wcześnie zapisze iptables do pliku (puste tabele i reguły) a potem to wszystko przywróci ponownie

Odp: kolejność wykonywania skryptów/programów - cron i rc.local
: 16 mar 2011, 11:20
autor: Dwimenor
Cron wykonuje polecenia w określonych odstępach czasu (co minutę, co godzinę, co godzinę i co minutę i tak dalej)
Plik /etc/rc.local wykonywany jest jako ostatni w sekwencji bootowania systemu. Czyli już po zainicjowaniu crona.
Może się zdarzyć, że wskoczy zapisane w cronie polecenie wykona się przed rc.local, aczkolwiek jest to mało prawdopodobne. Możesz się jednak przed tym ustrzec, sprawdzając najpierw czy reguły iptables nie są puste. Jeżeli są, to odczekaj 10 sekund i sprawdź ponownie.
Odp: kolejność wykonywania skryptów/programów - cron i rc.local
: 16 mar 2011, 11:33
autor: 00marcinek00
Wiem co to jest i jak działa cron

Tylko właśnie nie wiem który pierwszy się wykona (cron bedzie działać dalej w zależności od ustawionych czasów). Czyli tak jak piszesz to cron jest pierwszy a potem rc.local jeśli chodzi o kolejność. Więc pozostaje zrobić test, 2 programy które zapiszą do pliku tesktowego z dokładną datą i co wykonało polcenie czy cron czy rc.local.
Odp: kolejność wykonywania skryptów/programów - cron i rc.local
: 16 mar 2011, 11:46
autor: ethanak
00marcinek00 pisze:Więc pozostaje zrobić test, 2 programy które zapiszą do pliku tesktowego z dokładną datą i co wykonało polcenie czy cron czy rc.local.
Nic to nie da. To czy wykona się pierwsze polecenie z rc.local czy z crona to absolutny przypadek. Jeśli chcesz mieć pewność, musisz określić w jakiś sposób czy wykonało się polecenie z rc.local, czyli w cronie skrypt w stylu (w pseudojęzyku):
Kod: Zaznacz cały
if reguły_są_puste then
nie_rób_nic
else
zapisz_reguły
Jeśli chcesz aby reguły zostały na pewno zapisane, dopisz coś co je zapisuje do rc.local (po ustawieniu reguł).
Odp: kolejność wykonywania skryptów/programów - cron i rc.local
: 16 mar 2011, 11:53
autor: Dwimenor
Nie, nie rozumiesz jak działa cron.
Zadania z crona nie wykonują się podczas uruchamiania systemu. One wykonują się w zadanym przez użytkownika momencie. Jeżeli po włączeniu crona, a przed odpaleniem rc.local, wypadnie ten "zadany moment" to zadanie z crona zostanie wykonane. Ale rc.local nie będzie czekać aż cron się wykona. Obie rzeczy wykonają się równolegle w przypadku kiedy czas ich wykonywania zachodziłby na siebie.
Aczkolwiek taka sytuacja jest mało prawdopodobna. Jeżeli jednak się obawiasz, że cron ci zrzuci puste reguły iptables, to możesz przed dokonaniem tego sprawdzać, czy te reguły nie są proste.
Albo robić jak na człowieka przystało:
1. Reguły firewalla ładowane są przy starcie systemu z /etc/rc.local
2. Reguły w /etc/rc.local są aktualizowane w czasie rebootowania (runlevel 6) lub wyłączania system (runlevel 0). Wystarczy dopisać odpowiednie skrypty do /etc/rc.0 i /etc/rc.6 (o ile mnie pamięć nie myli co do nazw plików/katalogów, bo siedzę w bibliotece na nie-bootowalnym z usb kompie). Wtedy nie będzie problemu z kolizją z cronem
Odp: kolejność wykonywania skryptów/programów - cron i rc.local
: 16 mar 2011, 12:06
autor: 00marcinek00
Może i nie rozumiem jak działa cron, kłócić się nie będę ale jednak Cron wywoła to "pierwsze polecenie". Cóż, będę musiał pomyśleć nad jakimś programikiem który będzie ładnie "zarządzał" iptables lub zainteresuje się tymi katalogami które uruchamiają w zależności od priotytetu ustawionego
P.S.
tak po za tematem dla innych żeby nie było komplikacji, iptables ma za zadanie "trzymać" na bierząco adresy ip osób "niepowołanych" zapisywać do pliku i ładować