2012-03-15 3 views
0

Мой сервер - centos 5.7. Мне нужна работа скрипта с заданием cron, которое автоматически перезапускает службу mysql, когда использование памяти достигает 55%.мой скрипт bash правильно?

Ниже приведен правильный текст?

#!/bin/bash 

TOTAL=`free | grep Mem | awk '{print $2}'` 
USED=`free | grep buffers\/cache | awk '{print $3}'` 
let PERCENT=$USED*100/$TOTAL 

if [ $PERCENT -gt 55 ]; then 
    service mysqld restart 
fi 
+6

Вы попробовали это на своем сервере? Каковы были результаты? – ABach

+0

@ABчто я ничего не знаю о bash, я получаю этот скрипт через google. Я просто не уверен, правильный ли сценарий или нет. –

ответ

1

Да, это базовый, но правильный.

Более полный и надежный подход заключается в том, чтобы просто установить monit, который может выполнять действия на таких условиях, а также предоставляет другие услуги.

+0

мне, Monit сложнее настроить –

+0

@EdwardHuang: это сложнее, правда, но вы получаете встроенный мониторинг и предупреждения. Кроме того, однострочный cronjob не может легко принять решение на основе данных прошлых прогонов (нет «государства»). Но эй, я бы солгал, если бы сказал, что не написал или не использовал десятки сценариев, подобных тому, который вы опубликовали :) –

Смежные вопросы