Jump to content

Лимит трафика на 1 день


Recommended Posts

Народ, как сделать, чтобы юзверям каждый день добавлялось определённое количество трафика. Это нужно для того, чтобы пользователь не выкачал весь месячный лимит за 1 день, а трафик распределялся постепенно.

 

Я думаю так, надо изменять поле cash в файле stat, но как это сделать не знаю

Link to post
Share on other sites
Сорри за глупый вопрос, а где взять КК?

КК = консольный конфигуратор

Link to post
Share on other sites

Я в курсе, что это такое, просто не могу найти под версию 2.4. В соседнем форуме прочитал, что такового ещё нет и в природе, так что пока надо делать все руками. :)

Я просто поднял тему к тому, что может кто-то уже сталкивался с подобной проблемой, и как он это решил.

Link to post
Share on other sites

Сделал, правда остается погрешность. Но для меня это не критично. Если кто хочет, может доделать сам.

 

Скрипт stg_daily_cash_clean.sh:

#!/usr/local/bin/bash

 

# Start config

 

users=`ls /var/stargazer/users`

STG_DIR="/var/stargazer/users"

STG_BIN="/sbin/sgconf"

 

# End config

 

#------------------------------------------------------------------------------#

# Start script

 

    for i in ${users}

do

    if [ $i == Elena ]; # Если у какого-то пользователя своя система начисления, в принципе, так же можно брать из массива по другим признакам

  then continue

    elif [ $i == allconnect.log ];

  then continue

    elif [ $i == connect.log ];

  then continue

    else

  DAY_OST=`cat /var/stargazer/users/$i/stat | grep 'Cash=' | cut -d "=" -f2 | cut -d "." -f1`

  DAY_LIM=`cat /var/stargazer/users/$i/conf | grep 'Userdata0=' | cut -d "=" -f2`

  $STG_BIN -s localhost -p 4444 -a admin -w password -u $i -c $(expr $DAY_LIM - $DAY_OST)

  echo " `date +%Y.%m.%d-%H.%M.%S` Daily cash for user $i added Balance on the end of day - $DAY_OST Every day limit - $DAY_LIM Cashe added - `expr $DAY_LIM - $DAY_OST`" >> /var/stargazer/users/$i/daily_cash.log

    fi

done

 

# End script

#-------------------------------------------------------------------------------#

 

Пользуйтесь, если кому нужна такая штука. :)

Link to post
Share on other sites
Сделал, правда остается погрешность. Но для меня это не критично. Если кто хочет, может доделать сам.

 

Скрипт stg_daily_cash_clean.sh:

#!/usr/local/bin/bash

 

# Start config

 

users=`ls /var/stargazer/users`

STG_DIR="/var/stargazer/users"

STG_BIN="/sbin/sgconf"

 

# End config

 

#------------------------------------------------------------------------------#

# Start script

 

    for i in ${users}

do

     if [ $i == Elena ]; # Если у какого-то пользователя своя система начисления, в принципе, так же можно брать из массива по другим признакам

  then continue

     elif [ $i == allconnect.log ];

  then continue

     elif [ $i == connect.log ];

  then continue

     else

  DAY_OST=`cat /var/stargazer/users/$i/stat | grep 'Cash=' | cut -d "=" -f2 | cut -d "." -f1`

  DAY_LIM=`cat /var/stargazer/users/$i/conf | grep 'Userdata0=' | cut -d "=" -f2`

  $STG_BIN -s localhost -p 4444 -a admin -w password -u $i -c $(expr $DAY_LIM - $DAY_OST)

  echo " `date +%Y.%m.%d-%H.%M.%S` Daily cash for user $i added Balance on the end of day - $DAY_OST Every day limit - $DAY_LIM Cashe added - `expr $DAY_LIM - $DAY_OST`" >> /var/stargazer/users/$i/daily_cash.log

     fi

done

 

# End script

#-------------------------------------------------------------------------------#

 

Пользуйтесь, если кому нужна такая штука. :)

В крон ставить нужно, и в какой период?

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...