@@ -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