Skip to content

Commit 6ea23cb

Browse files
committed
900-letsencrypt.inc.php
1 parent 07ce955 commit 6ea23cb

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

server/lib/classes/cron.d/900-letsencrypt.inc.php

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,37 +33,58 @@ class cronjob_letsencrypt extends cronjob {
3333
// job schedule
3434
protected $_schedule = '0 3 * * *';
3535

36+
/* this function is optional if it contains no custom code */
37+
public function onPrepare() {
38+
global $app;
39+
40+
parent::onPrepare();
41+
}
42+
43+
/* this function is optional if it contains no custom code */
44+
public function onBeforeRun() {
45+
global $app;
46+
47+
return parent::onBeforeRun();
48+
}
49+
3650
public function onRunJob() {
3751
global $app, $conf;
3852

3953
$letsencrypt = explode("\n", shell_exec('which letsencrypt certbot /root/.local/share/letsencrypt/bin/letsencrypt'));
4054
$letsencrypt = reset($letsencrypt);
4155
if(is_executable($letsencrypt)) {
42-
$version = trim(exec($letsencrypt . ' --version 2>/dev/null'));
43-
if(preg_match('/^(\S+)\s+(\d+(\.\d+)+)$/', $version, $matches)) {
56+
$version = exec($letsencrypt . ' --version 2>&1', $ret, $val);
57+
if(preg_match('/^(\S+|\w+)\s+(\d+(\.\d+)+)$/', $version, $matches)) {
4458
$type = strtolower($matches[1]);
4559
$version = $matches[2];
4660
if(($type != 'letsencrypt' && $type != 'certbot') || version_compare($version, '0.7.0', '<')) {
4761
exec($letsencrypt . ' -n renew');
48-
$app->services->restartServiceDelayed('httpd', 'force-reload');
62+
$app->services->restartServiceDelayed('httpd', 'reload');
4963
} else {
5064
$marker_file = '/usr/local/ispconfig/server/le.restart';
5165
$cmd = "echo '1' > " . $marker_file;
5266
exec($letsencrypt . ' -n renew --post-hook ' . escapeshellarg($cmd));
5367
if(file_exists($marker_file) && trim(file_get_contents($marker_file)) == '1') {
5468
unlink($marker_file);
55-
$app->services->restartServiceDelayed('httpd', 'force-reload');
69+
$app->services->restartServiceDelayed('httpd', 'reload');
5670
}
5771
}
5872
} else {
5973
exec($letsencrypt . ' -n renew');
60-
$app->services->restartServiceDelayed('httpd', 'force-reload');
74+
$app->services->restartServiceDelayed('httpd', 'reload');
6175
}
6276
}
6377

6478
parent::onRunJob();
6579
}
6680

81+
/* this function is optional if it contains no custom code */
82+
public function onAfterRun() {
83+
global $app;
84+
85+
parent::onAfterRun();
86+
}
87+
6788
}
6889

6990
?>

0 commit comments

Comments
 (0)