1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-atop

Клонировать/Скачать
atop.daily 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Fei Li Отправлено 22.07.2022 09:52 442181e
#!/bin/sh
LOGOPTS="" # default options
LOGINTERVAL=600 # default interval in seconds
LOGGENERATIONS=28 # default number of days
LOGPATH=/var/log/atop # default log location
mkdir -p "$LOGPATH"
# allow administrator to overrule the variables
# defined above
#
DEFAULTSFILE=/etc/default/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

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-atop.git
git@api.gitlife.ru:oschina-mirror/mirrors-atop.git
oschina-mirror
mirrors-atop
mirrors-atop
master