](https://gagor.pro/2011/09/pflogsumm-mail-statistics-for-postfix/images/cover.webp)
pflogsumm - Mail Statistics for Postfix
Learn how to use pflogsumm to generate comprehensive mail statistics for Postfix, helping you monitor and manage your mail server effectively.
](https://gagor.pro/2011/09/pflogsumm-mail-statistics-for-postfix/images/cover.webp)
Learn how to use pflogsumm to generate comprehensive mail statistics for Postfix, helping you monitor and manage your mail server effectively.
](https://gagor.pro/generic-cover.webp)
Miałem ostatnio dziwną przygodę: pewien serwer do backupu gdzie ląduje dużo małych plików i dodatkowo tworzonych jest sporo hardlinków zaliczył pada. Co prawda starałem się go grzecznie położyć z pomocą Magic SysRq ale ponieważ nie wiedziałem co było przyczyną awarii fsck wydawał się wskazany. Podczas próby uruchomienia fsck.ext4 na systemie plików o rozmiarze ok 14TB z kilkuset milionami plików po kilkudziesięciu sekundach otrzymywałem komunikat: Błąd podczas przydzielania struktury icount: Memory allocation failed ...
](https://gagor.pro/generic-cover.webp)
Wielu administratorów gdy zaczyna swoją przygodę zarządza jedną/dwoma maszynami… Po pewnym czasie jest ich już kilka… W którymś momencie dostrzega się zalety wirtualizacji i na kilku maszynach fizycznych działa kilkanaście czy kilkadziesiąt maszyn wirtualnych. W takiej sytuacji pobieranie aktualizacji dla wszystkich maszyn potrafi mocno zabić łącze. I w tym momencie zaczynamy się zastanawiać czy może nie warto byłoby zrobić własnego mirror’a paczek dla naszego ulubionego distro… do prywatnego użytku… synchronizowanego w nocy by nikomu nie przeszkadzać… i dostępnego nawet gdy będziemy offline… Zaczynamy liczyć miejsce i okazuje się że repozytorium Debiana dla architektury i386 to prawie 60GB (sic!), no ale mamy kilka maszynek z arch amd64 i tutaj też prawie 60GB - auć. W tym miejscu wielu dochodzi do wniosku że to jeszcze nie pora na własnego mirror’a 😃 ...
](https://gagor.pro/generic-cover.webp)
Linux bardzo agresywnie wykorzystuje wolną pamięć RAM do buforowania danych odczytywanych z dysków (inode’ów, plików, itd…). Ma to niebagatelny wpływ na zwiększenie szybkości uruchamiania programów które już raz zostały uruchomione. Jednak nie zawsze jest to pożądane zachowanie, np. testując szybkość uruchomienia/wykonywania tworzonej przez nas aplikacji - buforowanie zmienia czas ładowania aplikacji przy kolejnych uruchomieniach. Dobrze byłoby móc wymusić zwolnienie buforów by każdy start programu miał porównywalne “warunki startowe”. Na szczęście można to zrobić w prosty sposób: ...
](https://gagor.pro/generic-cover.webp)
Przy okazji wykonywania kilku drobnych optymalizacji swojej stronki natknąłem się na eAccelerator’a. Ciekawy projekt, który w sposobie działania przypomina Zend Optimizer’a ale ma jedną zasadniczą zaletę - jest darmowy 😃 Niestety nie ma go w repozytoriach Debiana, więc trzeba go sobie skompilować - cały proces jest dość prosty. Zaczynamy od pobrania najświeższej paczki, obecnie jest to wersja 0.9.5.3: Pobierz eAccelerator external link (ostatnio miałem problem z tym linkiem więc proponuję pogooglać) ...
](https://gagor.pro/generic-cover.webp)
Klastrowanie to może zbyt dumnie powiedziane. Rozwiązanie to wyszukałem gdy chcąc skonfigurować dwa serwery apache do współpracy na rzecz jednego serwisu okazało się, że sejse trzymane są tylko przez jeden serwer a drugi nic o nich nie wie. To oczywiście nie pozwalało na prawidłowe działanie jakiegokolwiek serwisu korzystającego z sesji. Pomysł jest taki, że zastępujemy domyśny mechanizm przechowywania sesji w plikach na dysku mechanizmem memcache. Ponieważ memcached działa jako usługa sieciowa, różne serwery mogą się odwoływać do puli memcached i odczytywać zapisane w niej dane. W przypadku sesji - nie jest ważne, kto ją utworzył - bo po jej wysłaniu do puli memcached staje się dostępna dla wszystkich klientów php z niej korzystających. ...
](https://gagor.pro/generic-cover.webp)
Instalacja serwera MySQL na Debianie jest niezwykle prosta i sprowadza się do jednego polecenia: sudo apt-get install mysql-server Polecenie to zainstaluje i uruchomi usługę serwerową MySQL. W czasie instalacji będziemy proszeni o podanie hasła dla root’a (które oczywiście dobrze jest zapamiętać bądź zapisać). Tak zainstalowana baza nasłuchuje na lokalnym porcie (localhost:3306) umożliwiająć dostęp wyłącznie root’owi. Jest to bardzo bezpieczna konfiguracja… Ale jeśli nie mamy zamiaru na tej samej maszynie instalować oprogramowania zarządzającego to nie zawsze jest to wygodne, tym bardziej gdy przykładowo mamy działającego phpmyadmin’a na jakimś serwerze www. W takim przypadku pierwszą rzeczą, którą robię jest udostępnienie dostępu zdalnego dla root’a. Warto zaznaczyć że uprawnienia root’a można nadać dowolnemu użytkownikowi (np. romanowi) co jest dużo bezpieczniejszą konfiguracją niż działanie bezpośrednio na koncie root’a (którego nazwa jest powszechnie znana). ...
](https://gagor.pro/generic-cover.webp)
Pewnego popołudnia przeczytałem artykuł o tęczowych tabelach i pod jego wpływem zacząłem kombinować jak zrobić coś takiego ale swojego. Do bazy wrzuciłem cały słownik z aspell’a dla języka polskiego (słowa z ogonkami i bez), angielskiego, kilka słowników z popularnymi hasłami, długą listę haseł z yourock i kilka innych. Sporo się nakombinowałem aby wygenerować dużo kombinacji szczególnie pod kątem polskich haseł (wszystkie: misiaczki, dupeczki, itp…) razem z różnymi popularnymi modyfikacjami (typu: misiaczki1, DUPECZKI, etc…). Na tym etapie miałem już wystarczająco dużo haseł aby bawić się dalej. ...
](https://gagor.pro/generic-cover.webp)
Kiedyś potrzebowałem w ramach testu obciążeniowego wysłać dużo wiadomości z załącznikami. Chciałem to zrobić na szybko z shell’a i tutaj chwilę musiałem pogooglać aby znaleźć działające polecenie. To co znalazłem wygląda tak: (echo "testowa wiadomosc"; uuencode test.zip test.zip) \ | mail -s "Test" testowy@mail.pl Wiedząc już jak wysyłać maile z załącznikami, mały mail bombing mogłem zrobić tak: for i in `seq 1 100`; do (cat tekst.txt; uuencode test.zip test.zip) \ | mail -s "Test $i" testowy@mail.pl; done