Суть доработки в следующем: при добавлении пользователя в базу добавляется значение о дате создания учетной записи пользователя и дате отключения.
Приступим. Как обычно, выбираем один из Mikrotik Routerboard: Mikrotik RouterBoard 1100AH, Mikrotik RouterBoard 750G, Mikrotik RouterBoard RB493AH.
Рис.1. MySQL таблица Users.
Перед тем, как начать работу над скриптом, мы добавим необходимые поля в базу данных. В базе данных выбираем таблицу Users.
Рис.2. MySQL Структура.
Выбираем Структура и жмем ОК.
Рис.3. Создаем новое поле.
Создадим два поля: с именем day (тип INT) и month. В них будет храниться информация соответственно о числе и месяце отключения пользователя.
Рис.4. Поле для даты создания пользователя.
В это поле будет заноситься дата создания пользователя.
Рис.5. Создаем скрипт.
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import MySQLdb
import mysql_db
import datetime
now_date = datetime.date.today()
cur_month = now_date.month
cur_day = now_date.day
user_day = cur_day
if cur_month == 12:
user_month = 1
else:
user_month = cur_month + 1
cur = mysql_db.db.cursor()
sql = ("INSERT INTO users (login_user, passwd_user, ip_user, create_date, day, month) VALUES ('%s', '%s', '%s', '%s', '%s', '%s')" % (login_user, passwd_user, ip_user,$
cur.execute(sql)
cur.close()
Разбираем скрипт:
import datetime – импортируем модуль для работы с датой
now_date = datetime.date.today() – получаем текущую дату и заносим значение в переменную now_date
Рис.6. Значение переменной now_date.
cur_month = now_date.month – текущий месяц
cur_day = now_date.day – текущий день
В дальнейшем нам может понадобиться отключить пользователя с нулевым балансом по дате. Для этого нам нужно определить месяц отключения и занести в переменную user_month. Мы знаем, что пользователя нужно отключить в следующем месяце, поэтому прибавим к текущему месяцу 1 и получим месяц отключения пользователя. Но что делать, если текущий месяц 12-й? Для этого выполним проверку.
if cur_month == 12: - если текуший месяц 12
user_month = 1 - то переменной user_month, присвоить 1
else: - иначе
user_month = cur_month + 1 - переменная user_month равна, текущий месяц + 1
Осталось добавить все данные в базу:
cur = mysql_db.db.cursor()
sql = ("INSERT INTO users (login_user, passwd_user, ip_user, create_date, day, month) VALUES ('%s', '%s', '%s', '%s', '%s', '%s')" % (login_user, passwd_user, ip_user,$
cur.execute(sql)
cur.close()
Рис.7. Данные в базе.
Теперь можно приступить к написанию скрипта, который будет выполнять отключение пользователей по дате.
Евгений Рудченко специально для ASP24.







