На одном некоммерческом проекте встрелися с такой неприятностью: места на диске не хватает на полный кеш, а возможностей перейти на больший объем диска у владельца сайта в настоящее время нет. Приходилось раз в 2-3 дня заходить на сервер и руками очищать кеш. Т.к. я по вообще-то человек очень ленивый, то всегда стремлюсь к максимальной автоматизации:) Отсюда и родился скрипт автоматической очистки.
На одном некоммерческом проекте встрелися с такой неприятностью: места на диске не хватает на полный кеш, а возможностей перейти на больший объем диска у владельца сайта в настоящее время нет. Приходилось раз в 2-3 дня заходить на сервер и руками очищать кеш (ну не отключать же полностью кеширование - пусть хоть часть данных отдается по кешу).
Т.к. я вообще-то человек очень ленивый, то всегда стремлюсь к максимальной автоматизации:) Отсюда и родился скрипт автоматической очистки с помощью очень хорошего специалиста настройки серверов.
Итак, создаем где-нибудь файл скрипта. Например, так:
/home/bitrix/ccache.sh
Я предпочитаю работать на Веб-окружении 1С-Битрикс, а вы смотрите, куда вам удобнее разместить файл со скриптом. Это - не принципиально.
Вот текст скрипта:
#!/bin/sh # Максимально диск занят на ... процентов: dmax=80 #d=`cat df.txt |grep "dev/vzfs" |awk '{ print $5 }'|cut -d "%" -f 1` d=`df |grep "dev/vzfs" |awk '{ print $5 }'|cut -d "%" -f 1` echo $dmax echo $d if [ "$d" -ge "$dmax" ]; then echo "removing cache!" ionice c3 rm -rf /home/bitrix/www/bitrix/cache/* fi
"dev/vzfs" - точка монтирования. посмотреть ее можно через команду df
Далее - скрипт нужно сделать исполняемым:
chmod +x /home/bitrix/ccache.sh
Только путь на свой не забудьте сменить.
Проверяем, что значения максимального и номинального свободного пространства определяеются верно, для этого в командной строке вводим:
/home/bitrix/ccache.sh
Результатом будут 2 строки: максимальное и номинальное занятое пространство в процентах
Последним штрихом будет повесить данный скрипт на выполнение каждый час. Для этого пропишем в крон строку:
00,59 * * * * /home/bitrix/ccache.sh
Вот такой вот вышел полезный скрипт:) Ну и не забывайте, что для решения любой задачи всегда существует бесконечное множество путей решения :)