1046 lines
38 KiB
Plaintext
1046 lines
38 KiB
Plaintext
<!--
|
|
Fcron documentation
|
|
Copyright 2000-2014 Thibault Godouet <fcron@free.fr>
|
|
Permission is granted to copy, distribute and/or modify this
|
|
document under the terms of the GNU Free Documentation License,
|
|
Version 1.1 or any later version published by the Free Software
|
|
Foundation.
|
|
A copy of the license is included in gfdl.sgml.
|
|
-->
|
|
|
|
|
|
<sect1 id="changes">
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
<title>From version 3.0.0 to 3.0.1</title>
|
|
<listitem>
|
|
<para>Better handling of the pipes in job.c: this should remove some problems encountered on BSD systems.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Bug fix: set the FDs correctly for select(). Should fix the problem encountered on BSD systems.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcrontab: access user's directory with user's rights (necessary if user/group fcron has not the right to read the directory).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>improvement in check_system_crontabs: more comments, added some help messages, added command line options, cleaner, safer code.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Improved English documentation: clarified some previously-unclear points.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added French translation of the manual pages (thanks go to Alain Portal)</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.7 to 3.0.0</title>
|
|
<listitem>
|
|
<para>Added a missing entry in changelog (changes from 2.9.6 to 2.9.7, bug fix for NetBSD).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Merged a patch for the check_system_crontabs script (Security enhancements and cleanups).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.6 to 2.9.7</title>
|
|
<listitem>
|
|
<para>Added time zone support (option timezone).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Better support FreeBSD's users and groups modifications in
|
|
fcron's install scripts.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fixed a bug which used to make fcron send empty mails on very
|
|
recent systems.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fixed a bug which prevented fcrondyn to being used on NetBSD (thanks go to Gabor Z. Papp).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added some casts in fileconf.c and save.c (to avoid some
|
|
warnings when compiling on HP-UX).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added a FAQ entry on how to emulate an anacron entry.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.5.1 to 2.9.6</title>
|
|
<listitem>
|
|
<para>fixed the bug which made jobs run an hour too early after a
|
|
daylight saving time change.</para>
|
|
<para>Added detailed explanations about when a job will run when
|
|
there is a DST change in the FAQ.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed fcrondyn's "Unknown command" bug on x86_64 (thanks go to
|
|
Georgi Georgiev).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>made fcrontab behave better when there is no space left in the
|
|
spool directory (used to truncate the fcrontab source file).
|
|
</para>
|
|
<listitem>
|
|
<para>Added a script, check_system_crontabs, to emulate Vixie cron's
|
|
behavior about /etc/crontab and /etc/cron.d. Please have a look
|
|
at the top of script/check_system_crontabs for more information.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>HP-UX support (needs more tests).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: restore umask even if fcron runs
|
|
unprivileged.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.5 to 2.9.5.1</title>
|
|
<listitem>
|
|
<para>Fixed serious security vulnerabilities in fcronsighup, and
|
|
improved fcronsighup's overall security (drop privileges, better
|
|
check user inputs, etc).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fixed several typos in the doc.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Updated debian package scripts (patch from debian
|
|
maintainer).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.4 to 2.9.5</title>
|
|
<listitem>
|
|
<para>Ported to HP-UX (thanks go to Scott Tinsley)</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Implemented fcrondyn commands run and runnow.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Merged patch from Russell Coker for new SE Linux.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Merged debian/ dir for debian package.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Mail reports: put the same username in the To: field than the
|
|
one we give as recipient to the MTA. mailto can now also be a
|
|
fully qualified email address.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>changed a log message: a job which has ended without error is
|
|
reported has "completed" (which is more appropriated than
|
|
"terminated").
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Internal changes in log.c: code is more segmented, and code
|
|
has been added to be able to send log message to fcrondyn. Syslog
|
|
messages are now never longer than MAX_MSG (even with string from
|
|
strerror()).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fixed a bug which happened on Daylight Saving Time change on
|
|
some systems. It would make fcron run into a nasty infinite loop.
|
|
Added a sanity check in set_nextexe() to avoid such
|
|
things.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fixed a crash bug: in 2.9.4, if a user run ls_exeq when a job
|
|
is running and has been removed from its fcrontab, it makes fcron
|
|
crash.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fixed a small bug: scripts were supposing perl was in
|
|
/usr/bin.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fixed a bug which caused the pid of a child process to be
|
|
incorrectly read</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed memory leak: some strings returned by log.c:make_msg()
|
|
weren't always free()d.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: fcrondyn commands renice and kill used not to handle
|
|
correctly the case where a job has several entries in exeq
|
|
(exesev jobs).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.3 to 2.9.4</title>
|
|
<listitem>
|
|
<para>Merged support for SE Linux (patch from Russell Coker: thanks!)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Work on the documentation (fixed spelling mistakes, tried to
|
|
make things clearer in fcrontab.5) (thanks Bill Wohler for your
|
|
help!)</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Changed the subject line of mail reports: it now contains the
|
|
subject line, and is very similar to vixie cron's one.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added a sum-up at the end of ./configure.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: "makewhatis" bug is fixed -- at last!</para>
|
|
<para>In fact, the problems encountered were due to an abusively
|
|
ignored signal SIGPIPE.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: possible crash of fcron when trying to save a file
|
|
if there was no space left on device.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: we don't consider '-' and '_' as word delimiters for
|
|
a username before the command anymore, since many programs have
|
|
one of these characters in their name.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: option first was broken in fcron 2.9.3.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed a little typo in an error message
|
|
(could->couldn't)</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: do not ignore the last line of a fcrontab if there
|
|
is no \n before the end of file.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed compile on SunOS 5.9 .</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fcron now compiles on MacOS X.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added some $srcdir to be able (again ;) ) to run configure
|
|
from another directory.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Perf improvement: use buffer for i/o in run_job().</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.2 to 2.9.3</title>
|
|
<listitem>
|
|
<para>security issue: fcron used not to check the fcrontabs
|
|
installed by root for a standard user. This could make an
|
|
inattentive superuser install a user job runas(root)
|
|
involontary.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Perf improvement: we now use buffers to write something to
|
|
disk (became necessary due to the use of O_SYNC).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>To avoid loss of data in case of an hardware failure or a
|
|
system crash, fcron now saves files to a temporary name, and then
|
|
renames them to their definitive filename if everything's
|
|
ok.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>The PID indicated by fcrondyn is now the pid of the job itself
|
|
(up to now, it was the one of the fcron process controlling the
|
|
job).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Implemented functions kill (send a signal to a running job)
|
|
and renice (change the priority of a running job) in
|
|
fcrondyn.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added fcron's option -q to control the lavg and serial queue
|
|
sizes.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added some timeouts in fcron for fcrondyn clients.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fcron is less restrictive concerning mailto addresses. In
|
|
particular, you can now use address like user@host.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: in 2.9.2, fcrontab and fcron did not set correctly
|
|
some file modes.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug (introduced in 2.9.1): when a job stops with an non-zero
|
|
exit status or because it has been signaled, send a mail to its
|
|
owner to inform him (in 2.9.1 and 2.9.2, the mail was sent, but
|
|
contained nothing).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>code clean: use the same scheme for all struct types, removed
|
|
some code redundancy (save to disk management).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.1 to 2.9.2</title>
|
|
<listitem>
|
|
<para>Added a system fcrontab. Root can access it with fcrontab by
|
|
using "-u systab".</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcrondyn's ls_lavgq, ls_serialq and ls_exeq are now
|
|
functional.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>mailto can now be set to a non-real user (for ex., an
|
|
alias).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron now calls shutdown() when a connection from fcrondyn is
|
|
closed. Another change in the code should prevent fcrondyn from
|
|
not returning to the prompt after a command has been run.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>use open() instead of fopen() to write files, for more
|
|
security.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcrontab sets euid=uid before running the editor. This is
|
|
required by some programs (for instance, perl).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: using DESTDIR with make did not work with the
|
|
doc.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Code clean: changed macros to make parameters clearly
|
|
different from vars.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.9.0 to 2.9.1</title>
|
|
<listitem>
|
|
<para>fcron can now be run without root's privileges (<link
|
|
linkend="faq">see FAQ</link>)</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added configure's option --with-boot-install .</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Minor change in the PAM code of fcron: may work better on
|
|
some systems.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>configure script now uses getpwnam() and getgrnam() instead of
|
|
reading directly /etc/passwd and /etc/group: this makes easier
|
|
the use of NIS, LDAP, etc.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Bug fix: using some "cmd > /dev/stderr" (or stdout) in a
|
|
script used to make fcron send a bogus output mail. (rewrite of
|
|
the code managing the output of jobs)</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Bug fix: typo error prevented fcrontab to be compiled on some
|
|
systems.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Minor bug fix about stdout option.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Minor bug fix: giving fcrontab's option -c a relative path
|
|
now works correctly.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.1.0 to 2.9.0</title>
|
|
<listitem>
|
|
<para>Added some new options to fcron: -y, -o, -l; and some
|
|
fcrontab options: stdout and volatile. All these permit to make
|
|
fcron run in foreground, execute all the pending jobs (mainly
|
|
%-jobs), and return. May be used, for instance, in a ppp-up
|
|
script with a dialup connection to update a software
|
|
regularly.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added fcrondyn: this software allows users to dialog
|
|
dyn-amically with a running fcron daemon. Currently, it can list
|
|
jobs of the user running it (or all jobs for root). In the near
|
|
future, it should be able to run a job, change its next time and
|
|
date of execution, renice a running job, send a signal to a
|
|
running job, etc.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>All the documentation has been ported to SGML DocBook.</para>
|
|
<para>It results on a much better HTML version, which I recommand
|
|
you use. It is installed by default in fcron documentation
|
|
directory (for instance, on my system:
|
|
<filename>/usr/share/doc/fcron-X.X.X/</filename>).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fcrontab.5 has been updated and improved. Some examples have
|
|
been added and some possible use of the different lines and
|
|
options are mentioned.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Added option random, which allows an entry run periodically to
|
|
be run at a random time in its intervals of execution, instead of
|
|
being run as soon as possible.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added some more checks in fileconf.c: allow user to use
|
|
hours, days, hourly, daily, etc options only with %-lines: it is
|
|
ignored if set for a &-line, which is quite confusing for users
|
|
who may type, for instance "&hourly" instead of
|
|
"%hourly".</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: you can now use arguments in the var EDITOR and
|
|
VISUAL.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: fcron used to call sometimes a sleep(-1), which
|
|
causes a freeze (no crash, but a very very long sleep :) ) under
|
|
system using LIBC5, and maybe on some non-linux systems. It was
|
|
not causing any problem under GLIBC2. Thanks go to Nick
|
|
Pasich.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 2.0.0 to 2.1.0</title>
|
|
<listitem>
|
|
<para>PAM support for fcron and fcrontab (need testing! - help
|
|
would be appreciated).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fcron now send a mail if a job has noticenotrun set and could
|
|
not be run because of a queue full.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Fcron now compiles on AIX (thank you, John A. Parker!), and a
|
|
few AIX-only bugs have been fixed, but it may remain some
|
|
problems to correct. Please try, and tell me!</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>We now use constants ROOTUID and ROOTGID instead of some
|
|
hard-coded "0", and those constants are defined by the configure
|
|
script (we use the uid/gid of the name given with the option
|
|
"--with-root{name|group}"). It allows fcron to be run on system
|
|
on which root is not uid/gid 0/0.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>code cleaning.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: setting lavg to (0,0,0) used to make the line be
|
|
added in the lavg queue instead of the serial queue (but the
|
|
lavgs were ignored anyway).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: fcrontab's "-z" option was not ignoring previous
|
|
user's fcrontab version.</para> </listitem>
|
|
<listitem>
|
|
<para>bug fixed: on systems using putenv(), the var HOME, USER and
|
|
SHELL wasn't correctly assigned. On system supporting setenv()
|
|
(which is the default), the problem did not occur. (thanks go to
|
|
Evan A. Zacks).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
|
|
<itemizedlist>
|
|
<title>From version 1.1.1 to 2.0.0</title>
|
|
<listitem>
|
|
<para>using SIGUSR2 on fcron makes it print its current schedule on
|
|
syslog and toggles on/off the printing of debug info on
|
|
syslog.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron behavior on serial and lavg queues overflow has changed:
|
|
in previous versions, it used to run a job to make room to put
|
|
a new one. As it may conduct to a overwhelming of system
|
|
resources, the new job is now refused (and not run). An error
|
|
message is also logged through syslog.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>a mail is now sent if the job exited due to a signal, or if
|
|
exit status is non-zero. Read FAQ if you experience problems
|
|
about that.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added a FAQ.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: a midmonthly job executed after the 15th of the
|
|
month used to cause an endless loop. Thanks go to Guy Geens
|
|
(thanks a lot!).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: inserting a job in serial queue or running a job
|
|
not finished at startup was broken, unless the job was
|
|
strict(no).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: some 1.1.1 changes used to make fcron impossible
|
|
to compile without sendmail (./configure's option
|
|
"--with-sendmail=no").</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed in sysV boot script: we know specify explicitly the
|
|
path to fcron.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: unresolved error used to occur on some system not
|
|
defining getopt_long().</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 1.1.0 to 1.1.1</title>
|
|
<listitem>
|
|
<para>security fix: sym link attack against fcrontab. Any user
|
|
allowed to use fcrontab used to be able to remove any fcrontab,
|
|
and potentially to truncate any file to zero-length (under
|
|
certain conditions, anyway).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron and fcrontab now have a configuration file: fcron.conf.
|
|
It contains the default paths (spool dir, etc) and programs to
|
|
use (editor, shell, etc). Thanks to that file, several fcron
|
|
processes can run simultaneously if they have a different config
|
|
(different spool dir and pid file).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added fcron's option "-m" to control the number of serial jobs
|
|
which can be executed simultaneously.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added fcron's option "-n" to create a new spool dir.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>command line syntax of fcrontab has changed: you can know use
|
|
"user" (after the file name if any) instead of "-u user". It
|
|
should make fcrontab a little more intuitive.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>It is now possible to put a user name between the time/date
|
|
fields and the shell command of a fcrontab line (for Vixie cron
|
|
format compatibility): it is equivalent to runas(user).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>support of Solaris (and SysV).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>early support of OpenBSD.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>the installation scripts now use nsswitch.conf to detect if a
|
|
user or a group exists on the system. That way, naming services
|
|
(NYS, ldap, etc) are supported.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>the man page and doc is now installed by default in
|
|
$prefix/share/{man|doc} (instead of the previous
|
|
$prefix/{man|doc}) ($prefix is generally "/usr").</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: fcron used not to add a serial_sev line to
|
|
serial/lavg queue if this line was running, saying "already in
|
|
serial queue".</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>bug corrected: a "all" in fcron.allow with no fcron.deny file
|
|
was not considered as an allow rule.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 1.0.3 to 1.1.0</title>
|
|
<listitem>
|
|
<para>The binary format of the binary fcrontabs has changed: there
|
|
is now no more need to reinstall the fcrontabs when upgrading
|
|
fcron (but you need to convert your fcrontabs to the new format
|
|
once), and this format should allow extensions without losing any
|
|
information.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>better management of the errors in load/save fcrontabs
|
|
functions.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>the doc is a clearer about @-lines.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>more security tests by fcrontab in the case it is suid root
|
|
(but, if possible, it should be suid fcron as it is far more
|
|
secure).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>we now remove unwanted fcrontabs before loading them in memory:
|
|
well, it seems to be more logical like that :)) .</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: using options first with a &-line may have led to
|
|
some problems during the first read by fcron (mail send
|
|
erroneously if noticenotrun was used, bad set of the first
|
|
execution's time and date or immediate execution if bootrun was
|
|
set: in fact, the line was not recognized as a new line).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: fcron used not to be able to be compiled from any
|
|
directory because of an absent -I. line option for the compiler
|
|
(the config.h file was not found).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 1.0.2 to 1.0.3</title>
|
|
<listitem>
|
|
<para>fcron can now be configured and compiled from any directory
|
|
(not only from the source dir).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fix: fcron now sets umask to the value it got at start
|
|
before running a job.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: a bug used to make the "truncated" system not
|
|
to work correctly, so a too long log message used to make fcron
|
|
crash.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 1.0.1 to 1.0.2</title>
|
|
<listitem>
|
|
<para>the user for whom a job is run is now logged.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>installation script is now more explicit about what it is
|
|
going to do.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>a boolean value can now also be set by "yes" and "no".</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: bootrun option works again.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: shell variable containing underscore (_) used
|
|
to be rejected.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: installation script used not to check if user
|
|
fcron was in group fcron, in which case fcrontab doesn't work
|
|
correctly (it cannot, in that case, read the fcrontabs for
|
|
non-privileged users).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 1.0.0 to 1.0.1</title>
|
|
<listitem>
|
|
<para>security fix: a user used to be able to read a file owned by
|
|
root if root runs a "fcrontab -u user -e".</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.9.5 to 1.0.0</title>
|
|
<listitem>
|
|
<para>added fcron's option "-s" to control the time between two
|
|
saves of the fcrontabs on disk.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>installation scripts now support better FreeBSD and sh.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: configure's options prefix and
|
|
without-sendmail used not to work.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: installing an fcrontab by "fcrontab file"
|
|
wasn't working correctly with a relative path (a path not
|
|
beginning by a "/").</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.9.4 to 0.9.5</title>
|
|
<listitem>
|
|
<para>security fix: the jobs of a fcrontab reinstalled by root used
|
|
to be run as root (until the next action of the owner on the
|
|
fcrontab).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added options strict and noticenotrun to tell fcron
|
|
respectively if a job should be removed from lavg queue if its
|
|
execution interval is exceeded, and if fcron should mail user to
|
|
report the non-execution of a job.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added option nolog in order to log only errors (i.e. no
|
|
message like "job x started"). This can help to reduce the disk
|
|
access and save energy on a laptop, and make the log more
|
|
readable if some jobs are run very often.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>better handle of changes of the uids of users in /etc/passwd
|
|
(no more need to reinstall the fcrontabs).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron.deny and fcron.allow files are now owned by root (they
|
|
used to be owned by user fcron).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added ./configure's option --with-answer-all to be able to use
|
|
"make install" in a non-interactive way (can be useful for
|
|
automatic installers).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added option --with-rootname and --with-rootgroup to
|
|
./configure script for a better support of exotic systems.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected in make install (script user-group): the script
|
|
used not to handle correctly the absence of both useradd and
|
|
adduser commands. This script now checks and tries to add a
|
|
group fcron if necessary.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.9.3 to 0.9.4</title>
|
|
<listitem>
|
|
<para>security improvement: after the (horrible) root exploit found
|
|
in version 0.9.3, I decided to improve fcron/fcrontab's security.
|
|
I've included some strong (I hope :)) ) tests in fcron to ensure
|
|
that only root can run commands as superuser and use option
|
|
runas. Even an corrupted fcrontab should not be able to get
|
|
root's privileges. Pretty reassuring, isn't it?</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>runfreq(1) lines have been replaced and extended by a new kind
|
|
of line: the lines beginning by a "%". It's now possible to tell
|
|
fcron to run a command once an hour, a week, etc, but only at
|
|
some specified moments. For instance: '%weekly * 4-7 echo "foo"'
|
|
will run the command 'echo "foo"' once a week between 4 and 7 in
|
|
the morning. (see "man 5 fcrontab" for more details).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>installation process improved: user is now consulted before
|
|
anything is done about installation in boot scripts, etc. The
|
|
default username of fcron is now ... fcron! (this is more secure
|
|
than daemon, which can be used by other programs). </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron now adds the host name to the addresses of the mails it
|
|
sends.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcrontab determines the identity of the running user by his
|
|
uid (it used to use the var USER). That way, fcrontab should act
|
|
as crontab under a "su".</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: a tmp file was not removed after a "fcron
|
|
-z"</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed in fcrontab: an expression of the form "start-stop"
|
|
with start > stop used to be incorrectly managed by fcron.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: when fcron and fcrontab were installed under a
|
|
non-privileged user rights, a normal user used to be not able to
|
|
use fcrontab.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug fixed: while fcrontab was asking user if he would like to
|
|
correct an erroneous line, the answer was not correctly
|
|
handled.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.9.2.1 to 0.9.3</title>
|
|
<listitem>
|
|
<para>installation scripts improved.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>added code to avoid infinite loops.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bugs corrected in the functions to set the time and date of
|
|
next execution.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected in the check for invalid lines.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.9.2 to 0.9.2.1</title>
|
|
<listitem>
|
|
<para>minor bug corrected in Makefile</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.9.1 to 0.9.2</title>
|
|
<listitem>
|
|
<para>fcron now uses autoconf (the configure script), so it should
|
|
be easier to compile and install it and various systems.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>support of lavg options for all systems where getloadavg() is
|
|
defined (BSD unix, etc) and on Linux systems with a proc
|
|
filesystem (fcron can use /proc/loadavg).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>a job can now be executed several times simultaneously if
|
|
option exesev is set to 1.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>user can determine if a job can be put several times in the
|
|
serial queue simultaneously thanks to option serialonce.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron does not wait anymore for the completion of all jobs of
|
|
a file before deleting it from memory.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron handles correctly the jobs which are both serial and
|
|
lavg.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron now runs under a specific user and group (other than
|
|
root) for basic security reasons.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: fcron used to crash after a file was deleted
|
|
from memory in some conditions.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>corrected the bug which used to appear when a line was put
|
|
several times in the serial queue: in this case, fcron used not
|
|
to count correctly the number of running serial jobs.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: fcrontab used not to remove the temporary file
|
|
it creates if no modification where done to a file after an
|
|
edition using the -e option and on errors.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: fcrontab now defines correctly the remain
|
|
value of a line based on time and date beginning with a "&" but
|
|
without runfreq definition.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: fcron used to not install correctly a file
|
|
edited if a correction was made.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>bug corrected: reset option was not working correctly when
|
|
set to a single line.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.9.0 to 0.9.1</title>
|
|
<listitem>
|
|
<para>support of the option mailto for each line (it used to be set
|
|
for the whole file).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>the value of the runas and mailto options are now stored
|
|
internally as a uid number: you must reinstall all the system's
|
|
fcrontabs if you change the uid of a user.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Support of options "lavg*", in order to run a job under a
|
|
specific 1, 5 and/or 15 minutes system load average value(s).
|
|
When the job should be run, it is placed in a specific queue and
|
|
the load average is checked regularly until the right value(s)
|
|
is/are got. The options "lavgor" and "lavgand" permits users to
|
|
tell fcron if they prefer to perform a logic OR or AND between
|
|
the 1, 5 and 15 load average values. The option "until" can be
|
|
use to force the execution of a job after a determined timeout if
|
|
the right conditions to run the job are not filled.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcron now uses putenv() in place of setenv() (setenv() is not
|
|
POSIX compliant).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>a mailto option set to "" is now equivalent to
|
|
"mail(false)".</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>corrected the bug which used to make a bootrun and runfreq(1)
|
|
job executed twice when fcron's start occurs in an interval of
|
|
execution of the job.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>corrected the bug which used to make fcron crash after
|
|
serial_array is resized.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.8.3 to 0.9.0</title>
|
|
<listitem>
|
|
<para>support of options in fcrontabs. Options can be specific to a
|
|
line or defined once for every line located after their
|
|
definition (a special option "reset" set all options to their
|
|
default). Some options also have too names: a long name and an
|
|
abbreviation.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>jobs can now be run be run one after the other (option
|
|
"serial"): when the job should normally be run, it is added to a
|
|
queue, which entries are executed one by one. It permits to avoid
|
|
the use of a lot of system resources for a brief moment by the
|
|
simultaneous execution of several tasks.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>jobs can be run at system start up if they should have been
|
|
run during system down time (option "bootrun").</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>root can run jobs as an another user (option "runas")</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>user can set a nice value to a job, but only root can use a
|
|
negative value (a negative value will increase priority)</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>user can choose to perform a logic AND or a logic OR between
|
|
day of month and day of week (option "dayor" and "dayand")</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>user can choose to mail the output of jobs (option "mail") if
|
|
any, and can force fcron to send a mail even if output is
|
|
zero-length (option "forcemail").</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed the bug which used to make fcron run a job with a
|
|
runfreq set to 1 at a wrong time.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed a bug which used to make fcrontab crash after several
|
|
corrections in edit mode.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.8.2 to 0.8.3</title>
|
|
<listitem>
|
|
<para>(all this bugs appeared in version 0.8.2 :)</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed the bug which used to make fcron crash after a
|
|
SIGHUP</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed the bug which used to prevent fcron from running some
|
|
job based on time and date</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fixed the bug which used to makes fcron run the jobs one
|
|
second too late</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.8.1 to 0.8.2</title>
|
|
<listitem>
|
|
<para>code has been optimized: The jobs are now queued in order of
|
|
execution. It permits avoid useless tests of all jobs every time
|
|
fcron wakes up, speeds up the determination of the time fcron
|
|
should sleep, speeds up the processing after the end of a job,
|
|
etc. I don't know why I haven't made it before :-) ...</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>fcrontab has been improved: it is now more stable (many bugs
|
|
which used to make fcrontab crash in case of errors in the
|
|
fcrontab has been fixed). Plus, it now asks if you want to make
|
|
corrections if needed when editing.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.8.0 to 0.8.1</title>
|
|
<listitem>
|
|
<para>ported to FreeBSD 4.0</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>From version 0.7.0 to 0.8.0</title>
|
|
<listitem>
|
|
<para>corrected the bug which keep normal users from listing and
|
|
editing their current configuration file with fcrontab -l or
|
|
-e.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>corrected the bugs which used to block fcron when a task was
|
|
marked for execution but fcron stopped before it has been
|
|
launched, and when fcron stopped after the end of a job but
|
|
before the output has been mailed.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>day of week 0 and 7 now both mean Sunday.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>the abbreviations of months and day of week are not any more
|
|
case dependent.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>months are now defined from 1 to 12 (and not from 0 to 11) (it
|
|
was a little bit illogical :-).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>you can now force spaces in strings if you place them in
|
|
quotes.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>I discovered ispell :-) ...</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>I've added a kind of signature in the formated configuration
|
|
files in order to keep the daemon from attempting to read an old
|
|
configuration file which doesn't use the same syntax.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>You can now install a file with fcrontab from standard
|
|
input.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>others minor adds and bug corrections.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-parent-document:("fcron-doc.sgml" "book" "chapter" "sect1" "")
|
|
End:
|
|
-->
|
|
|