From b8b3ad550d2367f1b82f2812259d88edecd858c4 Mon Sep 17 00:00:00 2001 From: hygienic-books Date: Sat, 6 May 2023 19:49:35 +0200 Subject: [PATCH] feat(script): Write snapshot time in a user-configurable time zone (#1) --- pacman-zfs-snapshot.conf | 7 +++++++ pacman-zfs-snapshot.sh | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pacman-zfs-snapshot.conf b/pacman-zfs-snapshot.conf index 78e598f..dae37d0 100644 --- a/pacman-zfs-snapshot.conf +++ b/pacman-zfs-snapshot.conf @@ -42,6 +42,13 @@ snap_name_prefix='pacman' # We do "$(date +)" to put a timestamp into snapshot names. # Defaults to "$(date +'%F-%H%M')" which returns '2023-03-07-0050'. snap_date_format='%F-%H%M' +# The tzdata-formatted timezone name used to add timestamps to snapshot +# names. Check for example 'timedatectl list-timezones' to get a list of +# valid names on your system. Format looks like 'America/Fortaleza', +# 'Asia/Magadan' or 'Australia/Sydney'. Defaults to 'Etc/UTC'. Can also be +# the empty string (as in snap_timezone='') in which case we'll use your +# system's timezone setting. +snap_timezone='Etc/UTC' # Which strings do we want to diffferentiate pacman operations Install, # Remove, Upgrade diff --git a/pacman-zfs-snapshot.sh b/pacman-zfs-snapshot.sh index 4ea0b6c..46517cc 100755 --- a/pacman-zfs-snapshot.sh +++ b/pacman-zfs-snapshot.sh @@ -25,6 +25,7 @@ snap_only_local_datasets="${snap_only_local_datasets:-true}" snap_field_separator="${snap_field_separator:-_}" snap_name_prefix="${snap_name_prefix:-pacman}" snap_date_format="${snap_date_format:-%F-%H%M}" +snap_timezone="${snap_timezone:-Etc/UTC}" snap_op_installation_suffix="${snap_op_installation_suffix:-inst}" snap_op_remove_suffix="${snap_op_remove_suffix:-rmvl}" snap_op_upgrade_suffix="${snap_op_upgrade_suffix:-upgr}" @@ -309,7 +310,7 @@ function main () { write_pkg_list_oneline local date_string max_dataset_name_length - date_string="$(date +"${snap_date_format}")" + date_string="$($([[ "${snap_timezone}" ]] && printf -- 'export TZ='"${snap_timezone}"); date +"${snap_date_format}")" find_max_dataset_name_length local trimmed_pkg_list_oneline