logowanie do pliku wyników dzia

Tematy związane z oprogramowaniem, instalacją, konfiguracją
Awatar użytkownika
czarownik
Beginner
Posty: 240
Rejestracja: 22 maja 2009, 17:23

logowanie do pliku wyników działania skryptów bash

Post autor: czarownik »

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"
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Ok. I?
Awatar użytkownika
czarownik
Beginner
Posty: 240
Rejestracja: 22 maja 2009, 17:23

Post autor: czarownik »

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 ####

ODPOWIEDZ