uschedule_intro(7)uschedule_intro(7)NAMEuschedule_intro - an introduction to the uschedule package
DESCRIPTION
uschedule is not cron and uschedule is not at - it does offer similar
functionality, but is not intended to be a drop-in replacement. It
works differently. It's designed to be different.
The uschedule package contains a number of tools, described below, to
manage the scheduling of jobs. The uscheduled daemon is run by
supervise.
Definitions
A registered command 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 unique identifier (often simply called Job-ID or ID).
A uscheduled job defines when to run a command.
TOOLS
This section give an general outline of the tools. More specific
information may be find in the manuals.
uscheduled
uscheduled(8) is the scheduler daemon. It sleeps in the background
until some job has to be started.
uschedulecmd
uschedulecmd(1) is used to register a command and to give it an ID.
uschedule
uschedule(1) schedules a registered command for execution at a certain
time or time pattern.
uschedulelist
uschedulelist(1) lists scheduled jobs or commands.
uschedulerm
uschedulerm(1) deletes scheduled jobs or commands. This is a frontend
to `rm', nothing more.
uschedulecp
uschedulecp(1) copies a registered command.
uscheduleedit
uscheduleedit(1) is used to edit commands.
uscheduleconf
uscheduleconf(1) creates a schedule service. This is usually used by a
system operator.
uscheduleruntimelimit
uscheduleruntimelimit(1) may be used to limit the run time of jobs.
FILE SYSTEM LAYOUT
Assuming that /etc/schedule-USER has been set up by the system
administrator using uscheduleconf like this:
uscheduleconf /etc/schedule-USER USER USER
then /etc/schedule-USER and ~USER/.uschedule will contain:
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
This script is the place where the system administrator may enforce
local policy, including resource limits.
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
This script is the second place where the system administrator may
enforce local policy, including resource limits.
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.
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.
SECURITY
All processes run under the account of the user. The uschedule 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.
EXAMPLES
Setting up a scheduling service for USER
As root:
uscheduleconf /etc/schedule-USER USER USER
ln -s /etc/schedule-USER /service
Setting up a command
to execute ~/bin/dosomething As user:
uschedulecmd -i dosomething ~/bin/dosomething
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.
As user do:
uschedule --late 5400 dosomething '*-*-* 08:00:00'
uschedule --late 5400 dosomething '*-*-* 13:00:00'
Schedule it to run at 0000 on every first day of the year
while allowing it to start up to 30 seconds late:
uschedule --late 30 dosomething '*-1-1 13:00:00'
AUTHOR
Uwe Ohse, uwe@ohse.de
SEE ALSOuscheduled(8), uschedule(1), uschedulecmd(1), uschedulelist(1),
uscheduleedit(1), uschedulecp(1), uschedulerm(1), uscheduleconf(1),
uscheduleruntimelimit(1).
The homepage may be more up-to-date, see
http://www.ohse.de/uwe/uschedule.html.
uschedule 0.7.1 uschedule_intro(7)