manual
dateshift
Section: Test tools (1)
Updated: 1.1
NAME
dateshift - Moves system date for program under test
SYNTAX
dateshift -t "<YYYY-MM-DD> [HH:MM:SS]" [ - <program> ]
DESCRIPTION
Moves system date for program under test. Once the date is moved the clock continues ticking, so that the program under test is now in a time warp.
dateshift is generally more convienient than changing the system clock, and does not require root privileges.
If you do not specify a command then your shell will be run.
The dates and times are in ISO-8601 format. This means that dates are YEAR-MONTH-DAY and times are HOUR:MINUTE:SECOND. Hours are in 24-hour format.
OPTIONS
-h
Output help information and exit.
-t <YYYY-MM-DD> [HH:MM:SS]
Specify the command to run in the date shifted environment
-v
Output version information and exit.
-d
Run in verbose output mode
ENVIRONMENT VARIABLES
DS_OFFSET
dateshift sets this to the number of seconds offset
LD_PRELOAD
dateshift uses LD_PRELOAD to intercept calls to time() and gettimeofday()
EXAMPLES
You can run a program at a different time like so:
dateshift -t 2001-01-01 - date
To run a time shifted shell to 20th Jan 2000 do:
dateshift -t 2001-01-20
Alternatively you can run it with a time as well
dateshift -t "2001-01-20 18:00:00"
LIMITATIONS
dateshift works via the run time linker's LD_PRELOAD mechanism. It will therefore not work on statically linked executables.
Also dateshift does not wrap stat() or other file based functions. Therefore programs which get file timestamps will still see the true time rather than the shifted time.
AUTHORS
Alex Hornby <alex@hornby.org.uk>
COPYRIGHT
Copyright � 2002,2008 Alex Hornby. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO
date(1) time(2) gettimeofday(2)
This document was created by man2html, using the manual pages.
Time: 17:33:50 GMT, January 02, 2009