#!/bin/bash # Ðтот Ñкрипт производит очиÑтку файловой БД stargazer-а. # Его можно вызывать вручную или покрону, к примеру раз в неделю или раз в меÑÑц. # Ðта Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð´Ð°ÐµÑ‚ Ñколько меÑÑцев детальной ÑтатиÑтики оÑтавить в БД SAVE_MONTHS=3 # Ðта Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð´Ð°ÐµÑ‚ Ñколько Ñтрок оÑтавить в логах юзеров MAX_LOG_LINES=5000 # Тут определÑетÑÑ Ð¿ÑƒÑ‚ÑŒ к БД DB=/var/stargazer/ declare -i NOW=`date +%s` declare -i DT=SAVE_MONTHS*31*24*3600 declare -i stat_time=0 for usr in $DB/users/* do echo cleaning `basename $usr` for ys in $usr/detail_stat/* do year=`basename $ys` for ms in $ys/* do month=`basename $ms` stat_time=`date --date="$year/$month/01" +%s` if (( $NOW - $stat_time > $DT )) then rm -fr $ms fi done done tail -n $MAX_LOG_LINES $usr/log > /tmp/stg_usr_log.`basename $usr` mv -f /tmp/stg_usr_log.`basename $usr` $usr/log done