File tree Expand file tree Collapse file tree 1 file changed +20
-2
lines changed
server/lib/classes/cron.d Expand file tree Collapse file tree 1 file changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -38,8 +38,26 @@ public function onRunJob() {
3838
3939 $ letsencrypt = array_shift ( explode ("\n" , `which letsencrypt /root/.local/share/letsencrypt/bin/letsencrypt `) );
4040 if (is_executable ($ letsencrypt )) {
41- exec ($ letsencrypt . ' -n renew ' );
42- $ app ->services ->restartServiceDelayed ('httpd ' , 'reload ' );
41+ $ version = trim (exec ($ letsencrypt . ' --version 2>/dev/null ' ));
42+ if (preg_match ('/^(\S+)\s+(\d+(\.\d+)+)$/ ' , $ version , $ matches )) {
43+ $ type = strtolower ($ matches [1 ]);
44+ $ version = $ matches [2 ];
45+ if ($ type != 'letsencrypt ' || version_compare ($ version , '0.7.0 ' , '< ' )) {
46+ exec ($ letsencrypt . ' -n renew ' );
47+ $ app ->services ->restartServiceDelayed ('httpd ' , 'reload ' );
48+ } else {
49+ $ marker_file = '/usr/local/ispconfig/server/le.restart ' ;
50+ $ cmd = "echo '1' > " . $ marker_file ;
51+ exec ($ letsencrypt . ' -n renew --post-hook ' . escapeshellarg ($ cmd ));
52+ if (file_exists ($ marker_file ) && trim (file_get_contents ($ marker_file )) == '1 ' ) {
53+ unlink ($ marker_file );
54+ $ app ->services ->restartServiceDelayed ('httpd ' , 'reload ' );
55+ }
56+ }
57+ } else {
58+ exec ($ letsencrypt . ' -n renew ' );
59+ $ app ->services ->restartServiceDelayed ('httpd ' , 'reload ' );
60+ }
4361 }
4462
4563 parent ::onRunJob ();
You can’t perform that action at this time.
0 commit comments