Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Štvrtok, 19. jún 2025

Súbor: [Platon] / scripts / shell / loadwatch / loadwatch.sh (stiahnutie)

Revízia 1.1.1.1, Tue Feb 5 15:09:26 2002 UTC (23 years, 4 months ago) by host8


Zmeny od 1.1: +0 -0 [lines]

Utility for logging load_average of server

#!/bin/bash

# Author: Lubomir Host 'rajo' <host8@kepler.fmph.uniba.sk>

# $Id: loadwatch.sh,v 1.1.1.1 2002/02/05 15:09:26 host8 Exp $

# Security options !!!
umask 077

##############################
# User's setup 

LOG="$HOME/.loadwatch/`date '+%Y%m%d'`"

##############################
# Functions 
#
plot() {
cat <<EOF | gnuplot -
set terminal postscript color;
set output '$LOG.ps'
set xrange [0:1440]
#set noborder;
set nozeroaxis;
set noxtics;
set noytics
set xlabel 'time';
set ylabel 'load';
# set nokey;
set size square;
plot [] \
     '$LOG' using (\$8*60 + \$9):11 title 'load_average  1 min' with lines 1, \
     '$LOG' using (\$8*60 + \$9):12 title 'load_average  5 min' with lines 2, \
     '$LOG' using (\$8*60 + \$9):13 title 'load_average 15 min' with lines 3

EOF
}

view() {
    plot
    gv $LOG.ps
}

log() {
# datum : 
#       %Y     rok (1970...)
#       %m     měsíc (01..12)
#       %d     den v měsíci (01..31)
#       %j     den v roce (001..366)
#       %W     číslo  týdne  s  pondělím  jako prvním dnem v týdnu (00..53)
#       %w     den v týdnu (0..6); 0 znamená neděle
#       %s     počet  sekund  od  1. ledna 1970 00:00:00 UTC
#       %H     hodina (00..23)
#       %M     minuta (00..59)
#       %S     sekund (00..61)
# uptime :
#  6:12pm  up 20:41,  5 users,  load average: 1.29, 1.29, 1.33
#                                             last 1 min, last 5 mins., last 15 mins.

UPTIME=`uptime| \
    sed 's/^.*load average://g;' | \
    awk '{print $1 " " $2 " " $3 }'| \
    sed 's/,//g; s/:/ /g;' `
date  "+%Y %m %d %j %W %w %s %H %M %S $UPTIME" >> $LOG
}


previous() {
    if [ $1 = "" ] ; then
        LOG="$HOME/crontab/logs/`date --date '1 days ago' '+%Y%m%d'`"
    else
        LOG="$HOME/crontab/logs/`date --date \"$1 days ago\" '+%Y%m%d'`"
    fi
    plot
}

# Command line parsing 
# See how we were called.
case "$1" in
  log)
    log
    ;;
  view)
    view
    ;;
  plot)
    plot
    ;;
  previous)
    previous $2
    ;;
  *)
    echo "Usage: $0 {log|plot|view|previous [days_ago]}"
    exit 1
esac

# Modeline for ViM 
# vim600: fdm=marker fdl=0


Platon Group <platon@platon.sk> http://platon.sk/
Copyright © 2002-2006 Platon Group
Stránka používa redakčný systém Metafox
Na začiatok