diff --git a/classes/cronlog-renderer.class.php b/classes/cronlog-renderer.class.php
index 8a6ddd6ad58d2dc0103f9bc75798570bc57e1268..b7b9fb33ba38fca846024756f16aabc202d72aac 100644
--- a/classes/cronlog-renderer.class.php
+++ b/classes/cronlog-renderer.class.php
@@ -66,6 +66,10 @@ class cronlogrenderer extends cronlog
         return '<div class="accessandage">'
             . sprintf($this->t("request-time"), date("Y-m-d H:i:s")) . '<br>'
             . sprintf($this->t("last-entry"), $sAge)
+            .($iAge > 60*24
+                ? " <a href=\"?deleteserverlogs=$this->_sActiveServer\" class=\"btn btn-danger\">Delete server</a>"
+                : ''
+            )
             . '</div>'
         ;
     }
@@ -594,7 +598,7 @@ class cronlogrenderer extends cronlog
               var timeline = new vis.Timeline(container, items, options);
 
               // set focus to newest jobs
-              timeline.moveTo("'.date("Y-m-d H:i:s", time()-60*60*24*4).'");
+              // timeline.moveTo("'.date("Y-m-d H:i:s", time()-60*60*24*4).'");
               
               // fix: some timelines do not properly work ... but I make them visible
               $(\'#' . $sDivId . ' .vis-timeline\').css(\'visibility\', \'visible\');
diff --git a/classes/cronlog.class.php b/classes/cronlog.class.php
index 0670aa7571c489f7f65171157fcd06d944e2a881..2340d1fd37af0b58a70d24feb66586b1e7e744e8 100644
--- a/classes/cronlog.class.php
+++ b/classes/cronlog.class.php
@@ -147,6 +147,10 @@ class cronlog
         $this->_sDataDir = str_replace("__APPDIR__", dirname(dirname(__FILE__)), $this->_sDataDir);
         $this->_sDataDir = str_replace('\\', '/', $this->_sDataDir);
 
+        if (isset($_GET['deleteserverlogs']) && $_GET['deleteserverlogs']){
+            $this->_deleteServerlogs($_GET['deleteserverlogs']);
+        }
+
         $this->getServers();
     }
 
@@ -155,6 +159,32 @@ class cronlog
     // ----------------------------------------------------------------------
 
 
+    protected function _deleteServerlogs(string $sServer): bool
+    {
+        $dirCronlog="$this->_sDataDir/$sServer";
+
+        if (! is_dir($dirCronlog)) {
+            // throw new InvalidArgumentException("$dirCronlog must be a directory");
+            return false;
+        }
+        if (substr($dirCronlog, strlen($dirCronlog) - 1, 1) != '/') {
+            $dirCronlog .= '/';
+        }
+        $files = array_merge(
+            glob($dirCronlog . '*', GLOB_MARK),
+            glob($this->_getCacheDir() . "/*$sServer", GLOB_MARK)
+        );
+        foreach ($files as $file) {
+            /*
+            if (is_dir($file)) {
+                deleteDir($file);
+            } else {
+            */
+            @unlink($file);
+            //}
+        }
+        return @rmdir($dirCronlog);
+    }
     /**
      * chaching: get the full path of directory for caching
      * @return string