." intlink tagname rest
.de intlink
. ie \\n[www-html] \{\
. HTML \\$1\\$2
. \}
. el \{ \fB\\$1\fR\\$2 \}
..
." extlink URL text rest
.de extlink
. ie \\n[www-html] \{\
. HTML \\$2\\$3
. \}
. el \{ \fB\\$1\fR\\$3 \}
..
.de manlink
. ie \\n[www-html] \{\
. HTML \\$2\\$3
. \}
. el \{ \fB\\$2\fR\\$3 \}
..
.de paragraph
.HTML
.P
..
.de section
. ie \\n[www-html] \{\
.HTML
\\$1
. \}
. el \{
.SH \\$1
. \}
..
.de subsection
. ie \\n[www-html] \{\
.HTML
\\$1
. \}
. el \{
.SS \\$1
. \}
..
." type name (args ..."
.de func
.HTML
.HTML -
\\$1 \fB\\$2\fR\\$3
..
.de args
.br
.HTML
-
\\$1
..
.de endfunc
.br
.HTML
.P
..
.de options
. HTML
..
.de option
. ie \\n[www-html] \{\
. HTML "- \\$1
- "
. \}
. el \{
.HP
\\$1
.br
. \}
..
.de optionparagraph
.HTML
.IP
..
.de endoptions
. HTML
..
.de list
.HTML
..
.de entry
. ie \\n[www-html] \{\
. HTML "- \\$1"
. \}
. el \{ .TP 3
*
\\$1
\}
..
.de endlist
.HTML
..
.ds PA uschedule
.ds VE 0.7.1
.ds CL admin
.TH uschedule_intro 7 \*(VE \*(PA
.hy 0
.URL "Uwe Ohse" ../uwe.html
.br
.URL "The uschedule package" ../uschedule.html
.paragraph
.SH NAME
uschedule_intro - an introduction to the uschedule package
.LINE
.SH DESCRIPTION
uschedule is not \fIcron\fR and uschedule is not \fIat\fR - it does offer
similar functionality, but is not intended to be a drop-in replacement.
It works differently. It's designed to be different.
.paragraph
The \fBuschedule\fR package contains a number of tools, described below,
to manage the scheduling of jobs. The \fBuscheduled\fR daemon is run
by supervise.
.paragraph
.subsection "Definitions"
A \fIregistered command\fR defines what to run. A command may simply
call a script or program somewhat, but may also be a complicated
shell script. A command has an \fIunique identifier\fR (often simply
called \fIJob-ID\fR or \fIID\fR).
.br
A \fIuscheduled job\fR defines when to run a command.
.SH "TOOLS"
This section give an general outline of the tools. More specific information
may be find in the manuals.
.subsection uscheduled
.manlink uscheduled.html uscheduled(8)
is the scheduler daemon. It sleeps in the background
until some job has to be started.
.subsection uschedulecmd
.manlink uschedulecmd.html uschedulecmd(1)
is used to register a command and to give it an ID.
.subsection uschedule
.manlink uschedule.html uschedule(1)
schedules a registered command for execution at a certain
time or time pattern.
.subsection uschedulelist
.manlink uschedulelist.html uschedulelist(1)
lists scheduled jobs or commands.
.subsection uschedulerm
.manlink uschedulerm.html uschedulerm(1)
deletes scheduled jobs or commands. This is a frontend to `rm',
nothing more.
.subsection uschedulecp
.manlink uschedulecp.html uschedulecp(1)
copies a registered command.
.subsection uscheduleedit
.manlink uscheduleedit.html uscheduleedit(1)
is used to edit commands.
.subsection uscheduleconf
.manlink uscheduleconf.html uscheduleconf(1)
creates a schedule service. This is usually used by a system operator.
.subsection uscheduleruntimelimit
.manlink uscheduleruntimelimit.html uscheduleruntimelimit(1)
may be used to limit the run time of jobs.
.SH "FILE SYSTEM LAYOUT"
Assuming that /etc/schedule-USER has been set up by the system
administrator using uscheduleconf like this:
.paragraph
.nf
uscheduleconf /etc/schedule-USER USER USER
.fi
.paragraph
then /etc/schedule-USER and ~USER/.uschedule will contain:
.subsection "A `/etc/schedule-USER/run' script"
This runs as root and is only writable for root. It changes to the
users schedule directory (~USER/.uschedule by default) and then
starts ~USER/.uschedule/run
.br
This script is the place where the system administrator may enforce
local policy, including resource limits.
.subsection "A `/etc/schedule-USER/log/run' script"
This runs as root and is only writable for root. It changes to the
users schedule log directory (~USER/.uschedule/log by default) and then
starts ~USER/.uschedule/log/run
.br
This script is the second place where the system administrator may enforce
local policy, including resource limits.
.subsection "A `~USER/.uschedule/run' script"
This reads a number of environment variables from .uschedule/env/
and starts the .uschedule daemon. The user may change this script
as he pleases.
.subsection "A `~USER/.uschedule/log/run' script"
This starts the multilog process. By default logging goes into
the log directory. The user may change this script as he pleases.
.paragraph
.SH SECURITY
All processes run under the account of the user. The \fBuschedule\fR
does not add any insecurity to the system, unless it has been
misconfigured. By default the configuration is secure - unless
you place uschedule service directories in insecure places.
.paragraph
.SH EXAMPLES
.subsection "Setting up a scheduling service for USER"
As root:
.nf
uscheduleconf /etc/schedule-USER USER USER
ln -s /etc/schedule-USER /service
.fi
.subsection "Setting up a command"
to execute ~/bin/dosomething
As user:
.nf
uschedulecmd -i dosomething ~/bin/dosomething
.fi
.subsection "Schedule it to run at 0800 and 1300"
while not allowing the job at 0800 to start past 0930 and not allowing
the job at 1300 to start past 1430.
.br
As user do:
.nf
uschedule --late 5400 dosomething '*-*-* 08:00:00'
uschedule --late 5400 dosomething '*-*-* 13:00:00'
.fi
.subsection "Schedule it to run at 0000 on every first day of the year"
while allowing it to start up to 30 seconds late:
.nf
uschedule --late 30 dosomething '*-1-1 13:00:00'
.fi
.SH AUTHOR
Uwe Ohse, uwe@ohse.de
.SH "SEE ALSO"
.manlink uscheduled.html uscheduled(8) ,
.manlink uschedule.html uschedule(1) ,
.manlink uschedulecmd.html uschedulecmd(1) ,
.manlink uschedulelist.html uschedulelist(1) ,
.manlink uscheduleedit.html uscheduleedit(1) ,
.manlink uschedulecp.html uschedulecp(1) ,
.manlink uschedulerm.html uschedulerm(1) ,
.manlink uscheduleconf.html uscheduleconf(1) ,
.manlink uscheduleruntimelimit.html uscheduleruntimelimit(1) .
.HTML