Tematy związane z oprogramowaniem, instalacją, konfiguracją
czarownik
Beginner
Posty: 240 Rejestracja: 22 maja 2009, 17:23
Post
autor: czarownik » 26 grudnia 2010, 16:06
Witam.
Chciałbym logować do pliku wyniki działania skryptów, w logach chciałbym mieć
czas startu
obciążenie procesora
wykorzystanie pamięci ram
informacje czy podczas wykonania pojawiły się jakieś problemy
czas zakończenia
Przykładowy skrypt
wykonujący kopię zapasową plików konfiguracyjnych:
Kod: Zaznacz cały
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DATA=`date +%Y-%m-%d`
KATALOG="Apache"
KATALOG2="ProFTPd"
KATALOG3="Skrypty"
KATALOG4+"Nagios"
CEL1="/etc/apache2/"
CEL2="/etc/proftpd/"
CEL3="/etc/skrypty"
CEL4="/usr/local/nagios/"
cd /mnt/outside/Konfiguracje/
echo -n "Tworze katalogu $DATA"
mkdir $DATA
echo "[OK]"
echo -n " Tworzenie katalogu $KATALOG"
cd $DATA
mkdir $KATALOG
echo "[OK]"
rsync --progress -axH $CEL1 /mnt/outside/Konfiguracje/$DATA/$KATALOG > /dev/null 2>&1
echo "[OK]"
echo -n " Tworzenie katalogu $KATALOG2"
mkdir $KATALOG2
rsync --progress -axH $CEL2 /mnt/outside/Konfiguracje/$DATA/$KATALOG2 > /dev/null 2>&1
echo "[OK]"
mkdir $KATALOG3
rsync --progress -axH $CEL3 /mnt/outside/Konfiguracje/$DATA/$KATALOG3 > /dev/null 2>&1
echo "[OK]"
mkdir $KATALOG4
rsync --progress -axH $CEL4 /mnt/outside/Konfiguracje/$DATA/$KATALOG4 > /dev/null 2>&1
echo "[OK]"
echo -n "Kopiowanie zakończone"
lessmian2
Member
Posty: 1088 Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków
Post
autor: lessmian2 » 26 grudnia 2010, 20:45
Ok. I?
czarownik
Beginner
Posty: 240 Rejestracja: 22 maja 2009, 17:23
Post
autor: czarownik » 26 grudnia 2010, 21:16
lessmian2 pisze: Ok. I?
I nie wiedziałem jak zrobić by do pliku były zapisywane informacje takie jak
czarownik pisze:
czas startu
obciążenie procesora
wykorzystanie pamięci ram
informacje czy podczas wykonania pojawiły się jakieś problemy
czas zakończenia
ale częściowo sobie poradziłem w logach mam już
czas startu
czas wykonywania procesu
czas zakończenia
Tylko nie bardzo wiem jak zapisać powód przerwania operacji oraz jakie średnie obciążenie generuje skrypt
Kod: Zaznacz cały
#!/bin/bash
# Skrypt kopii zapasowej bazy danych
DATA=`date +%Y-%m-%d`
CZAS=`date +%H:%M:%S`
BAZA="baza1 baza2 "
USERNAME="postgres"
HOSTNAME="localhost"
PORT="5432"
#FREE_MEM=`awk -v tmp= '/MemTotal:/ {tmp=$2};/MemFree:/ {print tmp-$2}' /proc/meminfo`
#MEM=`/proc/meminfo | grep MemTotal`
ZMIENNE="--disable-dollar-quoting"
KATALOG="/home/czarownik/baza/"
ZAPIS_DO_PLIKU="/home/czarownik/log/$NAZWA-$DATA.log"
SCIEZKA_DO_BACKUPU="/home/czarownik/baza/"
# Start Wykonania
echo " #### Start $DATA $CZAS ####" >> $ZAPIS_DO_PLIKU
if [[ -e $ZAPIS_DO_PLIKU ]];
then
echo""
else
echo "Katalog $ZAPIS_DO_PLIKU NIE istnieje" >> $ZAPIS_DO_PLIKU
mkdir $ZAPIS_DO_PLIKU >> $ZAPIS_DO_PLIKU
echo "Katalog $ZAPIS_DO_PLIKU zastał utworzony poprawnie " >> $ZAPIS_DO_PLIKU
fi
if [[ -e $KATALOG ]];
then
echo "" >> $ZAPIS_DO_PLIKU
else
echo "Katalog $KATALOG NIE istnieje" >> $ZAPIS_DO_PLIKU
mkdir $KATALOG >> $ZAPIS_DO_PLIKU
echo "Katalog $KATALOG zastał utworzony poprawnie " >> $ZAPIS_DO_PLIKU
fi
for x in $BAZA
do
if [[ -n $x ]] ;
then
echo "Rozpoczynam backup bazy daych $x " >> $ZAPIS_DO_PLIKU
CZAS_START=`date +%s`
pg_dump -c -O -U $USERNAME $x -h $HOSTNAME -p $PORT -i > $KATALOG$x-$DATA-$CZAS.sql
CZAS_STOP=`date +%s`
echo " Backup bazy danych $x zakończony trwał " $(($CZAS_STOP-$CZAS_START)) >> $ZAPIS_DO_PLIKU
else
echo "------ UWAGA Nie wprowadzono informacji jaką kopię bazy wykonać" >> $ZAPIS_DO_PLIKU
echo "------ UWAGA Proszę sprawdzić poprawność wpisanych danych dla bazy $x" >> $ZAPIS_DO_PLIKU
fi
done
#Koniec wykonania
echo " #### Koniec wywołania $DATA $CZAS ####" >> $ZAPIS_DO_PLIKU
Skrypt robi
kopię zapasową bazy danych, plik log wygląda tak:
Kod: Zaznacz cały
#### Start 2010-12-26 21:00:48 ####
Wykorzystanie pamięci 9514616 b
Rozpoczynam backup bazy danych baza1
Backup bazy danych baza1 zakończony trwał 21
Rozpoczynam backup bazy danych baza2
Backup bazy danych baza2 zakończony trwał 4
#### Koniec wywołania 2010-12-26 21:00:48 ####