mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 06:03:28 +00:00
Fix support for Chrony in Debian systems
This commit is contained in:
@@ -56,7 +56,7 @@ if ($in{'action'} eq $text{'action_sync'}) {
|
||||
if (defined($in{'sync_service_name'}) &&
|
||||
defined($in{'sync_service_status'})) {
|
||||
my $service_name = $in{'sync_service_name'};
|
||||
if ($service_name !~ /^(chronyd|systemd-timesyncd)$/) {
|
||||
if ($service_name !~ /^(chronyd|chrony|systemd-timesyncd)$/) {
|
||||
&error(&text('error_serviceunknown', &html_escape($service_name)));
|
||||
}
|
||||
my $service_status = int($in{'sync_service_status'});
|
||||
|
||||
@@ -5,7 +5,8 @@ use warnings;
|
||||
no warnings 'redefine';
|
||||
no warnings 'uninitialized';
|
||||
require './time-lib.pl';
|
||||
our (%in, %text, %config, %access, $base_remote_user, $get_hardware_time_error);
|
||||
our (%in, %text, %config, %access, $base_remote_user,
|
||||
$get_hardware_time_error, $cronyd_name);
|
||||
|
||||
my ($rawdate, $rawhwdate, %system_date, $rawtime, %hw_date, $txt);
|
||||
$txt = "";
|
||||
@@ -174,13 +175,14 @@ if ( ( !$access{ 'sysdate' } && &has_command( "date" ) || !$access{ 'hwdate' } &
|
||||
$config{'timeserver_hardware'}));
|
||||
}
|
||||
}
|
||||
if (&foreign_require('init') && &init::action_status('chronyd') > 0 && &has_command("chronyc")) {
|
||||
my $chronyd_running = &init::status_action('chronyd');
|
||||
my $chronyd_run_atboot = &init::action_status('chronyd');
|
||||
my $ui_hiddens = &ui_hidden("sync_service_name", "chronyd");
|
||||
if (&foreign_require('init') &&
|
||||
&init::action_status($cronyd_name) > 0 && &has_command("chronyc")) {
|
||||
my $chronyd_running = &init::status_action($cronyd_name);
|
||||
my $chronyd_run_atboot = &init::action_status($cronyd_name);
|
||||
my $ui_hiddens = &ui_hidden("sync_service_name", $cronyd_name);
|
||||
$ui_hiddens .= &ui_hidden("timeserver", $config{'timeserver'})
|
||||
if (!$ntp_support);
|
||||
print &ui_table_row(&text('index_tabsync2', 'chronyd'),
|
||||
print &ui_table_row(&text('index_tabsync2', $cronyd_name),
|
||||
$ui_hiddens.
|
||||
&ui_radio("sync_service_status",
|
||||
(($chronyd_run_atboot == 2 && $chronyd_running) ? 2 :
|
||||
|
||||
@@ -13,6 +13,7 @@ our ($timezones_file, $currentzone_link, $currentzone_file, $timezones_dir,
|
||||
$sysclock_file);
|
||||
our ($get_hardware_time_error);
|
||||
our $cron_cmd = "$module_config_directory/sync.pl";
|
||||
our $cronyd_name = $gconfig{'os_type'} eq 'debian-linux' ? 'chrony' : 'chronyd';
|
||||
our $rawtime;
|
||||
if ($config{'zone_style'}) {
|
||||
do "$config{'zone_style'}-lib.pl";
|
||||
@@ -49,13 +50,13 @@ if (&has_command("ntpdate")) {
|
||||
elsif (&has_command("sntp")) {
|
||||
$out = &backquote_logged("sntp -s $servs 2>&1");
|
||||
}
|
||||
elsif (&foreign_require('init') && &init::action_status('chronyd') > 0 && &has_command("chronyc")) {
|
||||
my $chronyd_running = &init::status_action('chronyd');
|
||||
$out = &backquote_logged("systemctl restart chronyd 2>&1");
|
||||
elsif (&foreign_require('init') && &init::action_status($cronyd_name) > 0 && &has_command("chronyc")) {
|
||||
my $chronyd_running = &init::status_action($cronyd_name);
|
||||
$out = &backquote_logged("systemctl restart $cronyd_name 2>&1");
|
||||
$out .= &backquote_logged("chronyc makestep 2>&1");
|
||||
sleep ($chronyd_running ? 5 : 15);
|
||||
if (!$chronyd_running) {
|
||||
&backquote_logged("systemctl stop chronyd 2>&1");
|
||||
&backquote_logged("systemctl stop $cronyd_name 2>&1");
|
||||
}
|
||||
}
|
||||
elsif (&foreign_require('init') && &init::action_status('systemd-timesyncd') > 0) {
|
||||
|
||||
Reference in New Issue
Block a user