sobota, 13 czerwca 2009

zaplanowane zadania czyli windows scheduler

Przyszło mi dziś napisać skrypt Pythona, który będzie automatycznie wgrywać pliki na serwer ftp - dokładniej rzecz ujmując prosty mechanizm tworzenia kopii bezpieczeństwa na serwerze ftp. Skrypt okazał się bardzo krótki i prosty, więc jego przygotowanie zajęło kilkanaście minut. Bardzo rzadko używam windowsowego schedulera do automatycznego wykonywania zadań, dlatego miałem przez chwilę wątpliwości jak przygotowany przeze mnie skrypt należy dodać do zaplanowanych zadań. A oto najszybsze rozwiązanie problemu na jakie trafiłem:
at 20:15 cmd /c d:\skrypt.py

Wykonanie powyższego polecenia spowoduje wykonanie skryptu d:\skrypt.py o godzinie 20:15.

Komenda konsolowa at pozwala bardzo szybko dodać nowe zaplanowane zadanie, bez uruchamiania zbędnych okienkowych wizardów. Możliwości komendy at można zgłębić tutaj.

wtorek, 24 marca 2009

"uszkodzone" instalatory msi

Dziś po raz drugi zdarzyło mi się pobrać z sieci instalator msi (instalator Pythona 2.6.1 pod Windows) który nie zadziałał po uruchomieniu. Każda próba instalacji kończyła się błędem 2755: internal error 2755 -  brak dostępu do urządzenia. No to już dziwny błąd a ponieważ powtórzył się po raz drugi postanowiłem sprawę nieco zgłębić. Okazało się, że problem tkwi we wbudowanych w Windows XP mechanizmach zabezpieczeń. Najpierw myślałem, że chodzi o to, że plik był oznaczony jako "obcy" - domyślnie mają tak wszystkie pliki ściągane za pośrednictwem przeglądarek. Ale nie. Okazało się, że przyczyna była mniej oczekiwana: plik instalacyjny msi był zaszyfrowany EFS (EFS to wbudowany w Windows XP Prof mechanizm szyfrowania plików). Po odszyfrowaniu instalator zadziałał bez zarzutu. Drugi instalator po odszyfrowaniu pliku także zadziałał. Teraz powstaje poważne pytanie: Czy to zapowiedź jakichś problemów z zabezpieczeniami w Windows XP? EFS miał być kompletnie transparentny dla programów i usług. A nie jest. Niedobrze gdy pojawiają się problemy z mechanizmami wpływającymi bezpośrednio na bezpieczeństwo....