Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
share
/
atop
Upload
3 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
atop.daily
1.42 KB
-rwxr-xr-x
2022-01-11 16:41:16
Edit
Del
Editing: atop.daily
(1.42 KB)
Path: /usr/share/atop/atop.daily
Back
#!/bin/sh LOGOPTS="" # default options LOGINTERVAL=600 # default interval in seconds LOGGENERATIONS=28 # default number of days LOGPATH=/var/log/atop # default log location # allow administrator to overrule the variables # defined above # DEFAULTSFILE=/etc/sysconfig/atop # possibility to overrule vars if [ -e "$DEFAULTSFILE" ] then . "$DEFAULTSFILE" # validate overruled variables # (LOGOPTS and LOGINTERVAL are implicitly by atop) # case "$LOGGENERATIONS" in ''|*[!0-9]*) echo non-numerical value for LOGGENERATIONS >&2 exit 1;; esac fi CURDAY=`date +%Y%m%d` BINPATH=/usr/bin PIDFILE=/var/run/atop.pid # verify if atop still runs for daily logging # if [ -e "$PIDFILE" ] && ps -p `cat "$PIDFILE"` | grep 'atop$' > /dev/null then kill -USR2 `cat "$PIDFILE"` # final sample and terminate CNT=0 while ps -p `cat "$PIDFILE"` > /dev/null do CNT=$((CNT + 1)) if [ $CNT -gt 5 ] then break; fi sleep 1 done rm "$PIDFILE" fi # delete logfiles older than N days (configurable) # start a child shell that activates another child shell in # the background to avoid a zombie # ( (sleep 3; find "$LOGPATH" -name 'atop_*' -mtime +"$LOGGENERATIONS" -exec rm {} \;)& ) # activate atop with an interval of S seconds (configurable), # replacing the current shell # echo $$ > $PIDFILE exec $BINPATH/atop $LOGOPTS -w "$LOGPATH"/atop_"$CURDAY" "$LOGINTERVAL" > "$LOGPATH/daily.log" 2>&1