保存服务器的运行状态

当发生异常警告时,需要了解服务器的当前运行状态。写一个脚本,记录状态,用于诊断。

注意控制日志文件的长度。

#/bin/sh
logdir=$(cd "$(dirname "$0")";pwd)/..
#echo dir=$logdir
#mkdir -p ${logdir}
logfile=${logdir}/nagios_server_status.log
max_line=20000


function log_server_status(){
  #date
  /bin/date >> ${logfile}
  #processs
  /bin/ps -ef >> ${logfile}
  #memory
  /usr/bin/free -m >> ${logfile}
  #disk
  /bin/df -h >> ${logfile}
  #network
  /usr/bin/sar -n DEV 1 1 >> ${logfile}
  /usr/sbin/ss -s >> ${logfile}
  #sys
  #echo sysctl
  /sbin/sysctl -a >> ${logfile} 2>&1
  #end
  echo end#############################################  >> ${logfile}
}

log_server_status
tail -${max_line} ${logfile} > ${logfile}.tmp
mv ${logfile}.tmp ${logfile}


你可能感兴趣的:(工作日记)