diff --git a/Makefile.am b/Makefile.am
index 5d772be942e..6321840921b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -477,6 +477,7 @@ MANPAGES = \
man/systemd.kill.5 \
man/systemd.special.7 \
man/systemd.journal-fields.7 \
+ man/systemd.time.7 \
man/kernel-command-line.7 \
man/daemon.7 \
man/bootup.7 \
@@ -746,7 +747,8 @@ XML_DIRECTIVE_FILES = \
man/systemd.kill.xml \
man/systemd.device.xml \
man/systemd.conf.xml \
- man/systemd.journal-fields.xml
+ man/systemd.journal-fields.xml \
+ man/systemd.time.xml
man/systemd.directives.xml: make-directive-index.py $(XML_DIRECTIVE_FILES)
$(AM_V_at)$(MKDIR_P) $(dir $@)
diff --git a/man/systemd.time.xml b/man/systemd.time.xml
new file mode 100644
index 00000000000..8e44e3dddea
--- /dev/null
+++ b/man/systemd.time.xml
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+
+
+ systemd.time
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ systemd.time
+ 7
+
+
+
+ systemd.time
+ Time and date specifications
+
+
+
+ Description
+
+ In systemd timestamps, timespans, and calendar
+ events are displayed and may be specified in closely
+ related syntaxes.
+
+
+
+ Displaying Timespans
+
+ Timespans refer to time durations. On display
+ systemd will present timespans as a space separated
+ series of time values each suffixed by a time
+ unit.
+
+ 2h 30min
+
+ All specified time values are meant to be added
+ up. The above hence refers to 150 minutes.
+
+
+
+ Parsing Timespans
+
+ When parsing systemd will accept the same
+ timespan syntax. Separating spaces may be omitted. The
+ following time units are understood:
+
+
+ usec, us
+ msec, ms
+ seconds, second, sec, s
+ minutes, minute, min, m
+ hours, hour, hr, h
+ days, day, d
+ weeks, week, w
+ months, month
+ years, year, y
+
+
+ If no time unit is specified, generally seconds
+ are assumed, but some exceptions exist and are marked
+ as such. In a few cases ns,
+ nsec is accepted too, where the
+ granularity of the timespan allows for this.
+
+ Examples for valid timespan specifications:
+
+ 2 h
+2hours
+48hr
+1y 12month
+55s500ms
+300ms20s 5day
+
+
+
+ Displaying Timestamps
+
+ Timestamps refer to specific, unique points in
+ time. On display systemd will format these in the
+ local timezone as follows:
+
+ Fri 2012-11-23 23:02:15 CET
+
+ The week day is printed according to the locale
+ choice of the user.
+
+
+
+ Parsing Timestamps
+
+ When parsing systemd will accept a similar
+ timestamp syntax, but excluding any timezone
+ specification (this limitation might be removed
+ eventually). The week day specification is optional,
+ but when the week day is specified it must either be
+ in the abbreviated (Wed) or
+ non-abbreviated (Wednesday) english
+ language form (case doesn't matter), and is not
+ subject to the locale choice of the user. Either the
+ date, or the time part may be omitted, in which case
+ the current date or 00:00:00, resp., is assumed. The
+ seconds component of the time may also be omitted, in
+ which case ":00" is assumed. Year numbers may be
+ specified in full or may be abbreviated (omitting the
+ century).
+
+ A timestamp is considered invalid if a week day
+ is specified and the date does not actually match the
+ specified day of the week.
+
+ When parsing systemd will also accept a few
+ special placeholders instead of timestamps:
+ now may be used to refer to the
+ current time (or of the invocation of the command
+ that is currently executed). today,
+ yesterday,
+ tomorrow refer to 00:00:00 of the
+ current day, the day before or the next day,
+ respectively.
+
+ When parsing systemd will also accept relative
+ time specifications. A timespan (see above) that is
+ prefixed with + is evaluated to the
+ current time plus the specified
+ timespan. Correspondingly a timespan that is prefix
+ with - is evaluated to the current
+ time minus the specified timespan. Instead of
+ prefixing the timespan with - it
+ may also be suffixed with a space and the word
+ ago.
+
+ Examples for valid timestamps and their
+ normalized form (assuming the current time was
+ 2012-11-23 18:15:22):
+
+ Fri 2012-11-23 11:12:13 → Fri 2012-11-23 11:12:13
+ 2012-11-23 11:12:13 → Fri 2012-11-23 11:12:13
+ 2012-11-23 → Fri 2012-11-23 00:00:00
+ 12-11-23 → Fri 2012-11-23 00:00:00
+ 11:12:13 → Fri 2012-11-23 11:12:13
+ 11:12 → Fri 2012-11-23 11:12:00
+ now → Fri 2012-11-23 18:15:22
+ today → Fri 2012-11-23 00:00:00
+ yesterday → Fri 2012-11-22 00:00:00
+ tomorrow → Fri 2012-11-24 00:00:00
+ +3h30min → Fri 2012-11-23 21:45:22
+ -5s → Fri 2012-11-23 18:15:17
+ 11min ago → Fri 2012-11-23 18:04:22
+
+ Note that timestamps printed by systemd will not
+ be parsed correctly by systemd, as the timezone
+ specification is not accepted, and printing timestamps
+ is subject to locale settings for the week day while
+ parsing only accepts english week day names.
+
+ In some cases systemd will display a relative
+ timestamp (relative to the current time, or the time
+ of invocation of the command) instead or in addition
+ to an absolute timestamp as described above. A
+ relative timestamp is formatted as follows:
+
+ 2 months 5 days ago
+
+ Note that any relative timestamp will also parse
+ correctly where a timestamp is expected. (see above)
+
+
+
+ Calendar Events
+
+ Calendar events may be used to refer to one or
+ more points in time in a single expression. They form
+ a superset of the absolute timestamps explained above:
+
+ Thu,Fri 2012-*-1,5 11:12:13
+
+ The above refers to 11:12:13 of the first or
+ fifth day of any month of the year 2012, given that it
+ is a thursday or friday.
+
+ The weekday specification is optional. If
+ specified it should consist of one or more english
+ language week day names, either in the abbreviated
+ (Wed) or non-abbreviated (Wednesday) form (case does
+ not matter), separated by colons. Specifying two week
+ days separated by "-" refers to a range of continuous
+ week days. "," and "-" may be combined freely.
+
+ In the date and time specifications any
+ component may be specified as "*" in which case any
+ value will match. Alternatively, each component can be
+ specified as list of values separated by
+ colons. Values may also be suffixed with "/" and a
+ repetition value, which indicates that the value and
+ all values plus multiples of the repetition value are
+ matched.
+
+ Either time or date specification may be
+ omitted, in which case the current day and 00:00:00 is
+ implied, respectively. If the second component is not
+ specified ":00" is assumed.
+
+ Timezone names may not be specified.
+
+ The special expressions
+ hourly, daily,
+ monthly and weekly
+ may be used as calendar events which refer to
+ *-*-* *:00:00, *-*-*
+ 00:00:00, *-*-01 00:00:00 and
+ Mon *-*-* 00:00:00,
+ respectively.
+
+ Examples for valid timestamps and their
+ normalized form:
+
+ Sat,Thu,Mon-Wed,Sat-Sun → Mon-Thu,Sat,Sun *-*-* 00:00:00
+ Mon,Sun 12-*-* 2,1:23 → Mon,Sun 2012-*-* 01,02:23:00
+ Wed *-1 → Wed *-*-01 00:00:00
+ Wed-Wed,Wed *-1 → Wed *-*-01 00:00:00
+ Wed, 17:48 → Wed *-*-* 17:48:00
+Wed-Sat,Tue 12-10-15 1:2:3 → Tue-Sat 2012-10-15 01:02:03
+ *-*-7 0:0:0 → *-*-07 00:00:00
+ 10-15 → *-10-15 00:00:00
+ monday *-12-* 17:00 → Mon *-12-* 17:00:00
+ Mon,Fri *-*-3,1,2 *:30:45 → Mon,Fri *-*-01,02,03 *:30:45
+ 12,14,13,12:20,10,30 → *-*-* 12,13,14:10,20,30:00
+ mon,fri *-1/2-1,3 *:30:45 → Mon,Fri *-01/2-01,03 *:30:45
+ 03-05 08:05:40 → *-03-05 08:05:40
+ 08:05:40 → *-*-* 08:05:40
+ 05:40 → *-*-* 05:40:00
+ Sat,Sun 12-05 08:05:40 → Sat,Sun *-12-05 08:05:40
+ Sat,Sun 08:05:40 → Sat,Sun *-*-* 08:05:40
+ 2003-03-05 05:40 → 2003-03-05 05:40:00
+ 2003-03-05 → 2003-03-05 00:00:00
+ 03-05 → *-03-05 00:00:00
+ hourly → *-*-* *:00:00
+ daily → *-*-* 00:00:00
+ monthly → *-*-01 00:00:00
+ weekly → Mon *-*-* 00:00:00
+ *:2/3 → *-*-* *:02/3:00
+
+ Calendar events are used by timer units, see
+ systemd.time5
+ for details.
+
+
+
+
+ See Also
+
+ systemd1,
+ journalctl1,
+ systemd.timer5,
+ systemd.unit5
+
+
+
+
diff --git a/man/systemd.timer.xml b/man/systemd.timer.xml
index 6fc26a55366..5cc543e453e 100644
--- a/man/systemd.timer.xml
+++ b/man/systemd.timer.xml
@@ -105,7 +105,7 @@
OnUnitActiveSec=
OnUnitInactiveSec=
- Defines timers
+ Defines monotonic timers
relative to different starting points:
OnActiveSec= defines a
timer relative to the moment the timer
@@ -139,8 +139,8 @@
seconds. Example: "OnBootSec=50" means
50s after boot-up. The argument may
also include time units. Example:
- "OnBootSec=5h 30min" means 5 hours and 30
- minutes after boot-up. For details
+ "OnBootSec=5h 30min" means 5 hours and
+ 30 minutes after boot-up. For details
about the syntax of time spans see
systemd.unit5.
@@ -152,14 +152,27 @@
elapse and the configured unit is
started. This is not the case for
timers defined in the other
- directives.
+ directives.
These are monotonic timers,
independent of wall-clock time and timezones. If the
computer is temporarily suspended, the
- monotonic clock stops too.
+ monotonic clock stops too.
+
+
+ OnCalendar=
+
+ Defines realtime
+ (i.e. wallclock) timers via calendar
+ event expressions. See
+ systemd.time7
+ for more information on the syntax of
+ calendar event
+ expressions.
+
+
Unit=
@@ -185,7 +198,8 @@
systemd1,
systemctl8,
systemd.unit5,
- systemd.service5
+ systemd.service5,
+ systemd.time7
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index c20efe55275..35644d38a66 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -111,7 +111,7 @@
the values are added up. Example: "50" refers to 50
seconds; "2min 200ms" refers to 2 minutes plus 200
milliseconds, i.e. 120200ms. The following time units
- are understood: s, min, h, d, w, ms, us.
+ are understood: s, min, h, d, w, ms, us. For details see systemd.time7.
Empty lines and lines starting with # or ; are
ignored. This may be used for commenting. Lines ending
@@ -1077,6 +1077,7 @@
systemd.path5,
systemd.timer5,
systemd.snapshot5,
+ systemd.time7,
capabilities7