Files
2026-06-25 15:28:46 +03:00

22 lines
526 B
Bash

#!/usr/bin/env bash
#
# bt-settime - set system date/time (and RTC when available).
#
# Usage:
# bt-settime "YYYY-MM-DD HH:MM:SS"
#
# Invoked through sudo by the web configurator.
set -euo pipefail
err() { echo "bt-settime: $*" >&2; exit 1; }
[ "$#" -eq 1 ] || err 'usage: bt-settime "YYYY-MM-DD HH:MM:SS"'
DT="$1"
[[ "$DT" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}$ ]] \
|| err "invalid datetime (expected YYYY-MM-DD HH:MM:SS)"
date -s "$DT" >/dev/null
hwclock -w 2>/dev/null || true
echo "ok $DT"