Z dziennika administratora, cz. 1
Czołem,
Dzisiaj będzie parę spraw administracyjnych.
Na początek przyjazne polecenie, które umożliwia przechwytywanie i wyświetlanie komunikacji w sieci.
tcpdump -n -i eth1 port yy and src host xxx
Umożliwia ono testowanie na serwerze połączenia z hosta xxx na porcie yy. Szczególnie przydatne do testowania loadbalancingu stron www. Odpalamy polecenie na wszystkich serwerach, na których jest nasza strona www, po czym wchodzimy na nią za pomocą przeglądarki www. W którejś konsoli powinny pojawić się wpisy o przekazywanej komunikacji.
Idziemy dalej. Szybką kompresję logów, przy małej ilości wolnego miejsca, możemy wykonać za pomocą takiego przemyślnego polecenia:
find log-2010-10-* | xargs gzip
Spowoduje ono wyszukanie wszystkich pasujących logów z października 2010 roku i kompresję każdego po kolei.
Sprawa kolejna to wspomniany we wcześniejszym poście monitoring serwerów za pomocą Zabbiksa. Muszę przyznać, że to potężne narzędzie i jeszcze nie udało mi się go ogarnąć. Aktualnie udało mi się na razie odpalić serwer i agenta dostarczającego informacji do monitoringu, a także zapoznać się z webowym interfejsem. Pozostaje jeszcze podstawowa konfiguracja. Przykładowo nie chce odnaleźć ssh czy http, które działają na innych portach niż domyślnie. A że dzisiaj czeka mnie nocka, to będę się doktoryzował nad tym zagadnieniem.;) Gdy uda mi się znaleźć rozwiązanie, to oczywiście umieszczę je tutaj.
I jeszcze na koniec – mały skrypt mojego autorstwa, który ma za zadanie sprawdzić ilość plików danego typu w kilku katalogach, po czym zapisać taką listę do pliku. Przypuszczam, że można go jeszcze ulepszyć, ale na moje skromne potrzeby działa nad wyraz dobrze – szybko, no i przede wszystkim po wielu próbach działa jak należy.:)
#!/bin/bash
#
tmp=/tmp/tmp.txt
file=~/Desktop/lista_skryptów.txt
dc=~/bin/skrypty
cd $dc
ls > $tmp
i=1
j=`wc -l < $tmp`
echo "Ilość skryptów w katalogu domowym"
if [ -f $file ]
then
rm -r $file
fi
while [ $i -le $j ]
do
k=`sed -n ${i}p $tmp`
l=`ls "${k}"|grep -c .bz2`
if [ $l -gt 0 ]
then
echo "-==NIEROZPAKOWANE SKRYPTY W ==-" >> $file
fi
echo "$k -" `ls "${k}"|grep -c .sh` >> $file
i=$[i + 1]
done
echo "Utworzono plik $file."
rm -r $tmp
echo ""
echo "Lista skryptów:"
echo "============"
cat $file