diff --git a/src/etc/inc/plugins.inc.d/core.inc b/src/etc/inc/plugins.inc.d/core.inc index 836c7ae60..a5a8c73f9 100644 --- a/src/etc/inc/plugins.inc.d/core.inc +++ b/src/etc/inc/plugins.inc.d/core.inc @@ -100,8 +100,10 @@ function core_services() $services[] = array( 'description' => gettext('Cron'), 'php' => array( - "restart" => array('system_cron_configure') + 'start' => ['system_cron_configure'], + 'restart' => ['system_cron_configure'], ), + 'pidfile' => '/var/run/cron.pid', 'name' => 'cron', ); diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index ae3dbda09..5e5bdf5de 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -872,7 +872,7 @@ function system_devd_configure($verbose = false) } } -function system_cron_configure($verbose = false, $defer = false) +function system_cron_configure($verbose = false) { function generate_cron_job($command, $minute = '0', $hour = '*', $monthday = '*', $month = '*', $weekday = '*') { @@ -931,9 +931,7 @@ function system_cron_configure($verbose = false, $defer = false) configd_run('template reload OPNsense/Cron'); - if (!$defer) { - configd_run('cron restart'); - } + mwexec('/etc/rc.d/cron restart'); if ($verbose) { echo "done.\n"; diff --git a/src/etc/rc.bootup b/src/etc/rc.bootup index e25b2ac6b..dc39afba0 100755 --- a/src/etc/rc.bootup +++ b/src/etc/rc.bootup @@ -100,7 +100,6 @@ interfaces_configure(true); system_resolvconf_generate(true); filter_configure_sync(true); plugins_configure('early', true); -system_cron_configure(true, true); system_routing_configure(true); system_hosts_generate(true); diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Cron/Api/ServiceController.php b/src/opnsense/mvc/app/controllers/OPNsense/Cron/Api/ServiceController.php index b90dbf76b..d6e0ed343 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Cron/Api/ServiceController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Cron/Api/ServiceController.php @@ -53,10 +53,7 @@ class ServiceController extends ApiControllerBase $backend = new Backend(); - // generate template - $backend->configdRun('template reload OPNsense/Cron'); - - // (res)start daemon + // generate configuration and (re)start daemon $backend->configdRun("cron restart"); return array("status" => "ok"); diff --git a/src/opnsense/service/conf/actions.d/actions_cron.conf b/src/opnsense/service/conf/actions.d/actions_cron.conf index 5db678e34..04f60e6bb 100644 --- a/src/opnsense/service/conf/actions.d/actions_cron.conf +++ b/src/opnsense/service/conf/actions.d/actions_cron.conf @@ -1,5 +1,5 @@ [restart] -command:/etc/rc.d/cron restart +command:pluginctl -s cron restart parameters: type:script message:restarting cron