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.




