Я имею сервер с неправильными датами в/proc и нахожу, не работает так, я записал этот сценарий:
#!/bin/bash
MAX_DAYS=7 #set the max days you want here
MAX_TIME=$(( $(date +'%s') - $((60*60*24*$MAX_DAYS)) ))
function search_and_destroy()
{
PATTERN=$1
for p in $(ps ux|grep "$PATTERN"|grep -v grep| awk '{ print $2 }')
do
test $(( $MAX_TIME - $(date -d "`ps -p $p -o lstart=`" +'%s') )) -ge 0 && kill -9 $p
done
}
search_and_destroy " command1 "
search_and_destroy " command2 "
logrotate
должен обрабатывать журналы, и это может использовать различные критерии для определения, когда журнал должен быть повернут.Действительно необходимо удаться, какой журнал (журналы) заполняют диск. После того как Вы знаете, какие журналы являются проблемой, смотрят на них и видят, почему они растут так быстро.
Там слишком много информации зарегистрировало? Снизьте регистрирующийся уровень приложения.
Много ошибок зарегистрировало? Исследуйте и зафиксируйте.
...
После того как Вы имеете контроль над журналами, можно затем использовать logrotate
помочь управлять ими.