mirror of https://github.com/jimsalterjrs/sanoid
55 lines
1.2 KiB
Bash
Executable File
55 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -x
|
|
|
|
# this test will check the behaviour arround a date where DST ends
|
|
# with hourly, daily and monthly snapshots checked in a 15 minute interval
|
|
|
|
# Daylight saving time 2017 in Europe/Vienna began at 02:00 on Sunday, 26 March
|
|
# and ended at 03:00 on Sunday, 29 October. All times are in
|
|
# Central European Time.
|
|
|
|
. ../common/lib.sh
|
|
|
|
POOL_NAME="sanoid-test-2"
|
|
POOL_TARGET="" # root
|
|
RESULT="/tmp/sanoid_test_result"
|
|
RESULT_CHECKSUM="846372ef238f2182b382c77a73ecddf99aa82f28cc9995bcc95592cc78305463"
|
|
|
|
# UTC timestamp of start and end
|
|
START="1509141600"
|
|
END="1509400800"
|
|
|
|
# prepare
|
|
setup
|
|
checkEnvironment
|
|
disableTimeSync
|
|
|
|
# set timezone
|
|
ln -sf /usr/share/zoneinfo/Europe/Vienna /etc/localtime
|
|
|
|
timestamp=$START
|
|
|
|
mkdir -p "${POOL_TARGET}"
|
|
truncate -s 512M "${POOL_TARGET}"/zpool2.img
|
|
|
|
zpool create -f "${POOL_NAME}" "${POOL_TARGET}"/zpool2.img
|
|
|
|
function cleanUp {
|
|
zpool export "${POOL_NAME}"
|
|
}
|
|
|
|
# export pool in any case
|
|
trap cleanUp EXIT
|
|
|
|
while [ $timestamp -le $END ]; do
|
|
setdate $timestamp; date; "${SANOID}" --cron --verbose --cache-ttl=2592000
|
|
timestamp=$((timestamp+900))
|
|
done
|
|
|
|
saveSnapshotList "${POOL_NAME}" "${RESULT}"
|
|
|
|
# hourly daily monthly
|
|
verifySnapshotList "${RESULT}" 73 3 1 "${RESULT_CHECKSUM}"
|
|
|
|
# one more hour because of DST
|