forked from systemd-cron/systemd-cron
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
271 lines (184 loc) · 8.31 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
v1.16.1 : 2023-07-24
* fix a syntax error in the crontab utility
v1.16 : 2023-07-10
* major rewrite
* MAILTO= : /etc/cron.*/ will inherit this from
/etc/crontab if they don't provide their own
* always explicitely set `User=root`, this way systemd will itself
provide fallback for HOME=, LOGNAME=, USER= & SHELL= env. variables.
(issue #65)
* accept a days-of-week range that ends with '...-7' (#57)
v1.15.22 : 2023-07-04
* improve runparts-less mode again
v1.15.21 : 2023-06-23
* improve runparts-less mode
v1.15.20 : 2023-03-10
* fix sending of unicode emails, thanks to 0xE1E10
v1.15.19 : 2022-07-16
* Allign with previous botched version jump (#82)
* crontab accepts $EDITOR with spaces (#83)
v1.5.18 : 2020-12-26
Various improvements to email on error:
* Revert "Use DynamicUser=yes for error email generator"
* Use sysusers.d snippet instead
* Support for MAILFROM variable [thanks MarcoCLA]
v1.5.17 : 2020-01-26
* Use DynamicUser=yes for error email generator
v1.5.16 : 2020-12-20
* ignore backup files in /etc/cron.d
* fix run-partscondition
v1.5.15 : 2020-10-17
* fix skipping OnFailure for empty MAILTO=, thanks to Richard Laager
* make run-parts uses optional
v1.5.14 : 2018-11-11
* Python 3.7 comptability, thanks to enrico.detoma
* Handle sending mail_on_error when the locale is not correctly set
* Use KillMode=process for generated units
v1.5.13 : 2018-03-28
* escape '%' in unit description (Thanks Mateusz Kowalewski)
v1.5.12 : 2017-12-08
* fix typo in configure script introduced in 1.5.11
v1.5.11 : 2017-12-08
* add distinct configure option for systemd generator dir (Thanks Mike Gilbert)
* add support for RandomizedDelaySec, this requires systemd ≥ 229
v1.5.10 : 2017-07-01
* fix regression in handling of masked/overriden timer units
v1.5.9 : 2017-06-18
* allow runtime masking of units
* log masked timers in a distinct way
* drop cargo-culted RefuseManual[Start|Stop]
* delay cron-boot.timer of 1 minute
v1.5.8 : 2017-01-15
* handle weekly slices as expected
* document that someone can use 'systemctl edit' to override
(generated) units.
v1.5.7 : 2017-01-11
* try to fix it again, hopefully finally,
making parse_time_unit() even harder to understand
v1.5.6 : 2017-01-10
* fix last off-by-one error in processing of <n>-<m> ranges.
v1.5.5 : 2017-01-10
* pass $(CPPFLAGS) to compilator for setgid helper
* almost always generate .sh scripts to avoid that systemd
complains with "Invalid escape sequences in line, correcting:"
when parsing some complex one-liners
https://github.com/systemd/systemd/blob/master/src/basic/extract-word.c#L204
* fix off-by-one error in processing of '*/<n>' for months & days. Issue #49
v1.5.4 : 2016-01-29
* generator: don't call OnFailure unit without a MTA avalaible.
* sync with systemd-cron-next: remove --stale-stamps configure option
* quote "Environment=" keypairs only when necessary
v1.5.3 : 2015-02-16
Minor bugfixes:
* add crontab --show option that lists crontabs
* crontab: try /usr/bin/editor, /usr/bin/vim, /usr/bin/nano,
/usr/bin/mcedit if VISUAL and EDITOR are not set
* avoid forgeting successful edits in /tmp/
v1.5.2 : 2014-12-21
Bug-fix release:
* generator now process UTF-8 files correctly (generators are run
with LANG=C)
* global exception handler added to generator; now prints error in
journal
* make install : setgid helper will be chgrp cron / chmod 2755 if
group cron exists ; but won't create this group by itself
* now support BATCH=yes|no into crontabs; this is translasted into
CPUSchedulingPolicy=idle & IOSchedulingClass=idle
* the generator can now co-exist with a boilerplate /etc/crontab that
does includes include definitions for /etc/cron.daily etc... these
will only be processed if the matching native unit is not activated
during configure step
v1.5.1 : 2014-12-13
* make all writes in crontab (both Python & C parts) atomic
* keep rejected crontabs in /tmp/crontab* for review
* added support for /etc.cron.allow and /etc/cron.deny; without any
of those, only root can create crontabs
* turn the setuid/root helper into a setguid/crontab to let it run
with the least privieges
If you enable this feature in your package, some additional setup is
needed after it has been unpacked:
getent group crontab > /dev/null 2>&1 || addgroup --system crontab
chgrp crontab /lib/systemd-cron/crontab_setgid
chmod 2755 /lib/systemd-cron/crontab_setgid
mkdir -p /var/spool/cron/crontabs
chown root:crontab /var/spool/cron/crontabs
chmod 1730 /var/spool/cron/crontabs
cd /var/spool/cron/crontabs
ls -1 | xargs -r -n 1 --replace=xxx chown 'xxx:crontab' 'xxx'
ls -1 | xargs -r -n 1 chmod 600
The crontab program, when run as root, will also try to fixup file
permissions;
but won't create the crontab group.
You can use sudo crontab -l -u $USER to fix-up your own crontab's
permissions.
THANKS to Lorenzo Beretta for review
v1.5.0 : 2014-12-11
* added an optional C setuid helper to let non-root users use crontab
v1.4.2 : 2014-11-25
Bug-Fix release
* build now honor bindir for systemctl location
* generator: better handling of quoted commands in crontabs
v1.4.1 : 2014-11-11
* generator: will now log warnings & errors about bad crontabs in the
journal
* generator: try less aggressively to make jobs persistent: a job
like 0 19 * * * root poweroff on a school/office PC would had run
the next morning; which is not the expected behaviour; this can now
be overiden with the PERSISTENT=yes|auto|no variable
* new trivial internal utility boot_delay : this is needed
because combining OnCalendar= & OnBootSec= in timer units doesn't
have the needed behaviour (OR instead of AND). A boot delay is a
standard feature of anacrontab; but can now also be used in crontab
by specifying the DELAY= value.
Thanks to @wavexx for the extensive review.
v1.4.0 : 2014-11-04
* new utility mail_on_failure that is called by a new OnFailure=
hook, both for static & generated units
* add support for new time unit introduced in systemd 217: minutely,
quarterly, semi-annually
* review of man pages
v1.3.3 : 2014-10-21
This release solves a bug introduced in crontab with the switch to
Python3
v1.3.2 : 2014-10-20
* switch to Python3 for crontab & generator
* add a manpage for /etc/anacrontab
* add a new utility remove_stale_stamps than removes stales stamps
from long deleted crontabs ( It can be called from
/etc/cron.weekly/ )
* configure: statedir defaults now to '/var/spool/cron'
* crontab: improved error handling
* generator: add support for RANDOM_DELAY & START_HOURS_RANGE to
anacrontab. This works in crontabs too.
v1.3.1 : 2014-09-22
* turn Path watching unit in static unit
* make Persistent=true smarter
* make /var/spool configurable
* put man page in right section
v1.3.0 : 2014-09-04
merge in systemd-crontab-generator from @kstep
https://github.com/kstep/systemd-crontab-generator
v1.2.1 : 2014-04-01
* FIX: Build should now be parallelizable with make -j<N>
v1.2.0 : 2014-03-31
* NEW: Yearly timers with system ≥ 209.
* NEW: Persistent timers with systemd ≥ 212.
v1.1.2 : 2013-08-24
* FIX: Reconfigure units so that service units are automatically
started by targets without needing to have them separately enabled.
v1.1.1 : 2013-07-31
* Only activate service units if corresponding cron directory is
non-empty.
* Makefile does not automatically install cron directories.
Thanks @WithHat
v1.1.0 : 2013-07-16
* Add target units which allow you to write custom cron jobs.
Thanks @WithHat
v1.0.1 : 2013-05-31
* Update build mechanism with configure script and templated
Makefile.
v1.0.0 : 2013-05-30
* Support cron.boot for scripts to be executed at boot-up.
v0.1.0 : 2013-05-27
* Initial release supporting hourly, daily, weekly, and monthly
scripts.