1.
Лимиты на интернет удобно запоминать в поле ip
текущего пользователя
1.1 Для уже созданных пользователей его легко
заполнить, выполнив следующий запрос в базе squidctrl:
UPDATE squidusers set ip = quotes where quotes
is not null
1.2 Для
новых пользователей заводим себе привычку дополнять поле ip информацией о
лимите на инет.
2.
В файлик (например) /root/scripts/sams_reconfig.sql записываем следующий запрос:
UPDATE
squidusers set quotes = ip where ip is not null
3.
В /etc/cron.monthly/sams_reconfig.sh
пишем следующее:
#!/bin/sh
CONF=/etc/sams.conf
if [
! -r "${CONF}" ] ; then
echo
"${CONF} is not readable"
exit
1
fi
DBUSER=`grep
^MYSQLUSER "${CONF}" | awk -F'=' '{print $2}'`
DBPASS=`grep
^MYSQLPASSWORD "${CONF}" | awk -F'=' '{print $2}'`
DBNAME=`grep
^SAMS_DB "${CONF}" | awk -F'=' '{print $2}'`
CACHENUM=`grep
^CACHENUM "${CONF}" | awk -F'=' '{print $2}'`
if [ -z "${DBUSER}" ] || [ -z
"${DBPASS}" ] || [ -z "${DBNAME}" ] || [ -z
"${CACHENUM}" ] ; then
[ -z
"${DBUSER}" ] && echo "MYSQLUSER is not defined in
${CONF}"
[ -z
"${DBPASS}" ] && echo "MYSQLPASSWORD is not defined in
${CONF}"
[ -z
"${DBNAME}" ] && echo "SAMS_DB is not defined in
${CONF}"
[ -z
"${CACHENUM}" ] && echo "CACHENUM is not defined in
${CONF}"
exit
2
fi
CMD="mysql
--user=\"${DBUSER}\" --password=\"${DBPASS}\" --database=\"${DBNAME}\"
< /root/scripts/sams_reconfig.sql"
eval
${CMD}
CMD="mysql
--user=\"${DBUSER}\" --password=\"${DBPASS}\"
--database=\"${DBNAME}\" -ss --execute=\"INSERT INTO reconfig (\\\`number\\\`, \\\`service\\\`,
\\\`action\\\`) VALUES (${CACHENUM},
'squid', 'reconfig');\""
eval ${CMD}
exit $?
Ну, там делаем скрипт исполняемым, и все: каждый месяц
данные о лимитах будут заменяться значениями из поля ip, после этого будет
производиться реконфигурирование squid
Комментариев нет:
Отправить комментарий