Witaj na blogu prowadzonym przez Sebana. Spisuję tutaj swoje uwagi na różny temat. Przeważają tematy związane z Internetem, popieranymi przeze mnie rozwiązaniami dotyczącymi wykorzystania komputerów, oraz kilka innych. Przeczytasz tu również recenzje książek IT.
Crontab i skrypty Perla
27 listopada 2006 | Klucze:
linux,
programowanie
Dodaj komentarz. trackback
Jakiś czas spędziłem na pisaniu pewnego skryptu w Perlu. Skrypt sam w sobie raczej prosty i nic ciekawego o nim napisać nie mogę. Sprawa skąplikowała się gdy musiałem ten skrypt uruchamiać co jakiś czas. Naturalnym było dla mnie umieszczenie wywołania skryptu w crontabie. Na początku było zdziwienie, potem zaciekawienie, na końcu frustracja, że pomimo poprawnych wpisów skrypt się nie wykonuje. Troche poszukiwań w sieci dało mi odpowiedź. Cron nie loguje się jako użytkownik a tylko działa jako on (z jego prawami). W takiej sytuacji skrypt nie ma do dyspozycji odpowiednich zmiennych środowiskowych np. nazwy użytkownika, zmiennej PATH. Zatem skrypt nie mógł korzystąc z zewnętrznych programów, nie było mowy o poprawnym działaniu.
Rozwiązałem to w dość prosty sposób wykorzystując tablicę ENV. W niej są przechowywane zmienne środowiskowe takie jak $ENV{'PATH'}. Zmodyfikowałem początek skryptu dopisując $ENV{'PATH'} = "/bin:/usr/bin";. Zadziałało.
