You've already forked chrony-ubuntu
75 lines
1.2 KiB
Bash
Executable File
75 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Author : Allan Christensen
|
|
# First Created : 18122025 (DD-MM-YYYY)
|
|
# Description : Installs Chrony on Ubuntu 24.04
|
|
# License : MIT License (see LICENSE file for details)
|
|
|
|
#
|
|
# Are we root
|
|
#
|
|
if [[ $(id -u) -ne 0 ]]; then echo "" && echo "Must be root or use sudo" && echo "" ; exit ; fi
|
|
|
|
#
|
|
# Pre-create Chrony log directory (avoids dpkg-statoverride warning)
|
|
#
|
|
install -d -o chrony -g chrony -m 0750 /var/log/chrony
|
|
|
|
#
|
|
# Install Chrony
|
|
#
|
|
apt install -y chrony
|
|
|
|
#
|
|
# Enable and start Chrony
|
|
#
|
|
systemctl enable chrony --now
|
|
|
|
#
|
|
# Chrony configuration file
|
|
#
|
|
conf_file="/etc/chrony/chrony.conf"
|
|
backup_file="${conf_file}.bak"
|
|
|
|
#
|
|
# Backup existing config
|
|
#
|
|
cp "$conf_file" "$backup_file"
|
|
|
|
#
|
|
# Define NTP servers
|
|
#
|
|
chrony_servers="pool 0.pool.ntp.org iburst
|
|
pool 1.pool.ntp.org iburst
|
|
pool 2.pool.ntp.org iburst
|
|
pool 3.pool.ntp.org iburst"
|
|
|
|
#
|
|
# Comment out existing pool lines
|
|
#
|
|
sed -i '/^pool / s/^/# /' "$conf_file"
|
|
|
|
#
|
|
# Append our servers
|
|
#
|
|
printf "\n# Custom NTP servers\n%s\n" "$chrony_servers" >> "$conf_file"
|
|
|
|
#
|
|
# Restart Chrony
|
|
#
|
|
systemctl restart chrony
|
|
|
|
#
|
|
# Force immediate time sync
|
|
#
|
|
chronyc makestep
|
|
|
|
#
|
|
# All done
|
|
#
|
|
printf "\nAll Done...\n"
|
|
|
|
#
|
|
# End of script
|
|
#
|