This script has written to check system “sar” data collection. Sar data collection can be useful to check system performance statistics for a specific time period. You only need to configure “sar” to collect performance statistics with a crontab job.
Sar can be used to collect performance data, redirect them, and perform historical analysis to identify performance bottlenecks.
Script content:
- Starting sar service on Oracle Solaris server.
- Adding sar line to sys or root user crontab file.
- Creating /var/adm/sa directory if it doesn’t exist.
Supported Operating Systems:
- Oracle Solaris
- HP-UX
- Red Hat 5-6
#!/bin/ksh SOLARIS_SAR() { if svcs svc:/system/sar:default |/usr/xpg4/bin/grep -q online >/dev/null 2>&1 then DEG=`echo "Online"` if cat /var/spool/cron/crontabs/sys|grep -v #|grep sa |grep -q sa1 >/dev/null 2>&1 then echo "0,5,10,15,20,25,30,35,40,45,50,55 * * * 0-6 /usr/lib/sa/sa1" >>/var/spool/cron/crontabs/sys echo "59 23 * * 0-6 /usr/lib/sa/sa2 -A" >>/var/spool/cron/crontabs/sys fi else svcadm enable svc:/system/sar:default if cat /var/spool/cron/crontabs/sys|grep v #|grep sa |grep -q sa1 >/dev/null 2>&1 then echo "0,5,10,15,20,25,30,35,40,45,50,55 * * * 0-6 /usr/lib/sa/sa1" >>/var/spool/cron/crontabs/sys echo "59 23 * * 0-6 /usr/lib/sa/sa2 -A" >>/var/spool/cron/crontabs/sys fi DEG=`echo "Started"` fi } LINUX_SAR() { if cat /etc/cron.d/sysstat|grep sa |grep -q sa1 >/dev/null 2>&1 then if cat /etc/cron.d/sysstat|grep sa |grep -q sa2 >/dev/null 2>&1 then DEG=`echo "Online"` else echo "53 23 * * * root /usr/lib64/sa/sa2 -A" >> /etc/cron.d/sysstat DEG=`echo "Started"` fi else echo "*/10 * * * * root /usr/lib64/sa/sa1 1 1" >> /etc/cron.d/sysstat if cat /etc/cron.d/sysstat|grep sa |grep -q sa2 >/dev/null 2>&1 then DEG=`echo "Online"` else echo "53 23 * * * root /usr/lib64/sa/sa2 -A" >> /etc/cron.d/sysstat DEG=`echo "Started"` fi fi } HPUX_SAR() { if cat /usr/spool/cron/crontabs/root|grep sa |grep -q sa1 >/dev/null 2>&1 then DEG=`echo "Online"` else if [ -d /var/adm/sa ] then echo "0 * * * 0,6 /usr/lbin/sa/sa1" >> /usr/spool/cron/crontabs/root echo "0 8-17 * * 1-5 /usr/lbin/sa/sa1 300 3" >> /usr/spool/cron/crontabs/root echo "0 18-7 * * 1-5 /usr/lbin/sa/sa1" >> /usr/spool/cron/crontabs/root DEG=`echo "Started"` else mkdir -p /var/adm/sa echo "0 * * * 0,6 /usr/lbin/sa/sa1" >> /usr/spool/cron/crontabs/root echo "0 8-17 * * 1-5 /usr/lbin/sa/sa1 300 3" >> /usr/spool/cron/crontabs/root echo "0 18-7 * * 1-5 /usr/lbin/sa/sa1" >> /usr/spool/cron/crontabs/root DEG=`echo "Started"` fi fi } OS=`uname -s` case "$OS" in "SunOS") SOLARIS_SAR printf "%-20s%-20s\n" "`hostname`" "$DEG" ;; "Linux") LINUX_SAR printf "%-20s%-20s\n" "`hostname`" "$DEG" ;; "HP-UX") HPUX_SAR printf "%-20s%-20s\n" "`hostname`" "$DEG" ;; "AIX") ;; esac