1001 статья о настройке связки mpd+freeradius3+mysql
===== Ставим порт FreeRadius3 =====
1 2 3 |
cd /usr/ports/net/freeradius3 make config // отмечаем для установки mysql,user,perl install clean |
===== База MySQL =====
Жизнь замечательных грибов
Наработки и статьи по работе с Linux
===== Ставим порт FreeRadius3 =====
1 2 3 |
cd /usr/ports/net/freeradius3 make config // отмечаем для установки mysql,user,perl install clean |
===== База MySQL =====
Зачем они собственно нужны? А затем, чтобы если вдруг серверу «поплохело», он знал на какие процессы важно выделять процессорное время, а на какие можно «подзабить».
Например сервер доступа : день, сетевая активность низкая, процессор не загружен обработкой сетевых пакетов, вполне можно выполнять все задачи. Вечер: идет дикая нагрузка на сетевую подсистему, процессор в полочке. Ничего страшного, бросаем все силы на обработку сетевых пакетов, на всем остальные задачи, не «системные», выделяем время по остаточному принципу.
Для выставления приоритетов в FreeBSD используется команд:
1 |
nice -n [приоритет] [программа] |
Это для запуска. Для уже запущеных процессов приоритет можно выставить командой:
1 |
renice -n [приоритет] [PID] |
В Ubuntu 15.10, MySQL начала выдавать иногда это сообщение.
Решение: редактируем mysql.cnf
1 |
sudo mcedit /etc/mysql/conf.d/mysql.cnf |
Добавляем:
1 2 3 |
[Service] LimitNOFILE = infinity LimitMEMLOCK = infinity |
Далее:
1 2 |
sudo systemctl daemon-reload sudo service mysql restart |
Бывает так, что проще «удалить и заново поставит», чем разобраться в ошибках.. Вот и у меня MySQL стала выдавать не понятные ошибки вида
1 |
ERROR 1728 (HY000): Cannot load from mysql.proc. The table is probably corrupted |
Можно было бы конечно поразбираться, что зачем и как.. Но оно это не стоило. В моем случае проще было снести и заново поставить.
1 2 3 4 5 6 7 |
apt-get --purge remove mysql-server apt-get --purge remove mysql-client apt-get --purge remove mysql-common apt-get autoremove apt-get autoclean rm -rf /etc/mysql apt-get install mysql-server mysql-client phpmyadmin |
Задача: в кроне с некой периодичностью запускается скрипт на php. Однако он не всегда успевает завершится за минуту. Соответственно нужно добиться того, чтобы скрипт не запускался повторно, в том случае если предыдущий скрипт еще не завершился.
Решение: при каждом запуске скрипта будем при помощи fopen пробовать открыть некий файл (и создавать его в случае отсутствия). После чего будем проверять — а не открыт ли он уже еще кем-то. Если открыт — думаем что открыт другой копией скрипта, и благополучно завершаем свою работу.
1 2 3 |
$fl = fopen( ‘/tmp/shaper_new.lock’, ‘w’ ); if( ! ( $fl && flock( $fl, LOCK_EX | LOCK_NB ) ) ) {die("--копия скрипта уже запущена!");}; |
В принципе можно и считать запущеные копии при помощи ps -ax | grep name_script | wc -l, но почему то у меня сиё работало не надежно..