Можете да създадете друга таблица
User_warnings:
user_id
warn_timestamp
Всеки път, когато потребителят е предупреден , първо изтривате всички записи, по-стари от 30 дни, след което проверявате дали все още има две или повече предупреждения. Тогава забранете потребителя.
Ако искате история за всички предупреждения, не изтривайте стари предупреждения, а просто потърсете предупреждения през последните 30 дни.
По този начин не е нужно да намалявате всеки ден, а просто трябва да проверявате кога се появи друго предупреждение.