#!/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 #