diff --git a/app.py b/app.py
index f0dda4f0d72fce2cf89a30496f846fe0dca039fd..0ba5e78d6c020dc85d7e9d993e2e728eff1a081f 100644
--- a/app.py
+++ b/app.py
@@ -1,15 +1,20 @@
 import atexit
+import datetime
+from datetime import date
+
 import flask
 from pythonping import ping
 from flask import Flask, jsonify, request
 from flask_migrate import Migrate
 from flask_sqlalchemy import SQLAlchemy
 from apscheduler.schedulers.background import BackgroundScheduler
-from sqlalchemy import desc
+from sqlalchemy import desc, column
+
+from config import *
 
 app = Flask(__name__)
-app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:admin@localhost/statistic'
-app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
+app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL
+app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = DB_TRACK_NODIFICATION
 db = SQLAlchemy(app)
 migrate = Migrate(app, db)
 
@@ -123,6 +128,13 @@ def start_scheduler():
     return status_code
 
 
+@app.route('/api/v1/db/auto-clean-time', methods=['POST'])
+def update_auto_clean_db():
+    scheduler.resume()
+    status_code = flask.Response(status=200)
+    return status_code
+
+
 def ip_ping():
     for camera in Camera.query.all():
         response_list = ping(camera.camera_ip, size=40, count=3)
@@ -132,6 +144,14 @@ def ip_ping():
         db.session.commit()
 
 
+def auto_clean_db():
+    clean_date = datetime.datetime.now() - DB_AUTOCLEAN_INTERVAL
+    old_stats = Stat.query.filter(Stat.date < clean_date).all()
+    for old_stat in old_stats:
+        db.session.delete(old_stat)
+    db.session.commit()
+
+
 scheduler = BackgroundScheduler()
 scheduler.add_job(id="scheduler", func=ip_ping, trigger="interval", seconds=time)
 scheduler.start()
@@ -139,6 +159,13 @@ scheduler.start()
 # Shut down the scheduler when exiting the app
 atexit.register(lambda: scheduler.shutdown())
 
+scheduler2 = BackgroundScheduler()
+scheduler2.add_job(id="dbclean", func=auto_clean_db, trigger="interval", seconds=DB_AUTOCLEAN_INTERVAL.total_seconds())
+scheduler2.start()
+
+# Shut down the scheduler when exiting the app
+atexit.register(lambda: scheduler2.shutdown())
+
 
 if __name__ == '__main__':
     app.run(debug=True)
diff --git a/config.py b/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..81dee01da89905d03f95f561cf5083ce20f62337
--- /dev/null
+++ b/config.py
@@ -0,0 +1,5 @@
+import datetime
+
+DB_URL = 'postgresql://postgres:admin@localhost/statistic'
+DB_TRACK_NODIFICATION = False
+DB_AUTOCLEAN_INTERVAL = datetime.timedelta(days=30)
diff --git a/readme.md b/readme.md
index 2bb5b8433cc9ba71b23b9368b8f1a7ea349c9538..55b51505e0282adddc74de1bc6c3f2212a86e2dd 100644
--- a/readme.md
+++ b/readme.md
@@ -5,6 +5,10 @@
 Так же можно задать интервал времени, с которым будут посылаться проверочные сигналы.
 Есть возможность приостановить и возобновить отправку сигналов.
 
+Записи старше заданного значения из талицы статистики в базе днных удаляются (по умолчанию это значение равно 30 дням).
+Чтобы поменять это значение надо в файле конфигурации config.py поменять значение DB_AUTOCLEAN_INTERVAL и перезапустить 
+приложение. 
+
 ## Запуск
 
 1. Для успешного старта приложения надо иметь запущенный постгрес с созданной в нем базой данных по имени statistic