Monopoly to program służący do taryfikowania połączeń modemowych, o jego przydatności modemowców przekonywać chyba nie trzeba. Jednym z jego atutów jest polski, ładny interfejs. Monopoly pobrać możemy z sieci. Na stronie dostępne są źródła oraz pakiety binarne dla RedHat Linuksa. Monopoly jest również rozpowszechniane z dystrybucją PLD, którą znajdziemy na kompaktach kwietniowego (2000) i marcowego (2001) LinuxPlus. Po ściągnięciu odpowiedniej paczki (kompilujemy i) instalujemy ją. Warto przeczytać dokumentację dołączoną do programu, znajdziemy tam trochę przydatnych rzeczy. Domyślnie plikiem konfiguracyjnym programu jest /etc/monopolyrc, chyba że skompilujemy program inaczej. Sama konfiguracja programu nie jest trudna, plik konfiguracyjny jest dobrze opisany zarówno po polsku i angielsku. Kłopot może nam sprawić odpowiednie skonfigurowanie taryf w programie. Ustawić możemy tylko jedną taryfę „od godziny do godziny”, a co z łikendami 😉 ? I tu dochodzimy do głównej części opisu…
Aby program obliczał koszt połączenia między godziną 6 a 18 w weekendy musimy w te dni „podmienić” plik konfiguracyjny. Normalnie dla dni powszednich taryfa wygląda tak, lub podobnie: between (18:00, 5:59) use (360, 0.35). W weekendy powinna wyglądać tak: between (0:00, 23:59) use (360,0.35).
Podmianę pliku konfiguracyjnego możemy zautomatyzować. Należy napisać prosty skrypt np. w bash’u, który podmieniał by plik konfiguracyjny. Mamy kilka możliwości wykonania tego zadania:
- przy pomocy sed’a
- przy pomocy grep’a
- skopiować odpowiednio przygotowany plik
Osobiście polecam pierwszą metodę. Zmieniamy nazwę monopolyrc na inną, np. monopolyrc.src . Zamiast taryfy wstawiamy identyfikator (np. %TARYFA%), który zostanie później zamieniony przez sed’a na odpowiednią taryfę. Teraz piszemy skrypt, który zamieni %TARYFA% na odpowienią taryfę, dla dnia powszedniego lub weekendu:
----cut---- # Zmiennej day przypisz aktualny dzień day=`date +%a` # Jeżeli dzisiaj jest "Sat" albo "Sun", to mamy łikend. if [ "$day" = "Sat" -o "$day" = "Sun" ] then # Co zrobić jeżeli jest łikend cat /etc/monopolyrc.src | sed 's/%TARYFA%/between (0:00, 23:59) use (360, 0.35)/g' > /etc/monopolyrc else # Co zrobić w dzień powszedni cat /etc/monopolyrc.src | sed 's/%TARYFA%/between (18:00, 5:59) use (360, 0.35)/g' > /etc/monopolyrc fi ----cut----
Skrypt ten najlepiej umieścić w /etc/rc.d/rc.local (lub jego odpowiedniku). Jeżeli natomias mamy uruchomiony komputer 24 godziny na dobę, to powinniśmy umieścić odwołanie do niego w pliku konfiguracyjnym crona.
Autorem powyższego teksty jest Maciej Korzeń z serwisu Linux.Sky.
Archiwalny news dodany przez użytkownika: Maciej Korzeń.
Kliknij tutaj by zobaczyć archiwalne komentarze.