diff --git a/cron.xml b/cron.xml
index 94031212a4cc6e8c1809de5e6fc8cfc04849fe70..c315c5c209ee21f1497631f94eafa7a982895a97 100644
--- a/cron.xml
+++ b/cron.xml
@@ -5,6 +5,11 @@
         <description>Ordner für temporäre Daten leeren</description>
     </cron>
 
+    <cron exec="\QUI\Cron\QuiqqerCrons::clearSessions">
+        <title>Sessions säubern</title>
+        <description>Löscht unnötige / abgelaufene Session Dateien</description>
+    </cron>
+
     <cron exec="\QUI\Cron\QuiqqerCrons::clearCache">
         <title>Cache leeren</title>
         <description>Kompletten Cache leeren</description>
@@ -13,8 +18,10 @@
     <cron exec="\QUI\Cron\QuiqqerCrons::clearAdminMediaCache">
         <title>Media Cache der Administration leeren</title>
         <description>
-            Leert die Cachebilder von der Administration.<br />
-            Dies sind zum Beispiel die Vorschaubilder in der Administration.<br />
+            Leert die Cachebilder von der Administration.
+            <br/>
+            Dies sind zum Beispiel die Vorschaubilder in der Administration.
+            <br/>
             Der öffentliche Mediacache wird nicht geleert
         </description>
     </cron>
@@ -32,8 +39,8 @@
             Durchsucht das Projekt und aktiviert oder deaktiviert Seiten je nach Veröffentlichungsdatum.
         </description>
         <params>
-            <param name="project" type="string" />
-            <param name="lang" type="string" />
+            <param name="project" type="string"/>
+            <param name="lang" type="string"/>
         </params>
     </cron>
 
diff --git a/src/QUI/Cron/QuiqqerCrons.php b/src/QUI/Cron/QuiqqerCrons.php
index 83737ea762bbf23f7090e99ed9d7f8198cb97931..38001e42fcb169106fe9f989eead797774e87c18 100644
--- a/src/QUI/Cron/QuiqqerCrons.php
+++ b/src/QUI/Cron/QuiqqerCrons.php
@@ -48,6 +48,34 @@ class QuiqqerCrons
         QUI\Utils\System\File::unlink(VAR_DIR . 'cache/admin/media/');
     }
 
+    /**
+     * delete all unwanted / unneeded sessions
+     */
+    public static function clearSessions()
+    {
+        // clear nativ session storage
+        $sessionDir = VAR_DIR . 'sessions/';
+
+        if (!is_dir($sessionDir)) {
+            return;
+        }
+
+        $sessionFiles = QUI\Utils\System\File::readDir($sessionDir);
+        $maxtime      = 1400;
+
+        if (QUI::conf('session', 'max_life_time')) {
+            $maxtime = (int)QUI::conf('session', 'max_life_time');
+        }
+
+        foreach ($sessionFiles as $sessionFile) {
+            $fmtime = filemtime($sessionDir . $sessionFile);
+
+            if ($fmtime + $maxtime < time()) {
+                unlink($sessionDir . $sessionFile);
+            }
+        }
+    }
+
     /**
      * Check project sites release dates
      * Activate or deactivate sites