uschedule_intro 7 \*(VE \*(PA
RL "Uwe Ohse" ../uwe.html

RL "The uschedule package" ../uschedule.html .paragraph

NAME
uschedule_intro - an introduction to the uschedule package .LINE .section 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. .paragraph The uschedule package contains a number of tools, described below, to manage the scheduling of jobs. The uscheduled daemon is run by supervise. .paragraph .subsection "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. .section "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. .section "FILE SYSTEM LAYOUT" Assuming that /etc/schedule-USER has been set up by the system administrator using uscheduleconf like this: .paragraph

 uscheduleconf /etc/schedule-USER USER USER
.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

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

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 .section 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. .paragraph .section EXAMPLES .subsection "Setting up a scheduling service for USER" As root:

 uscheduleconf /etc/schedule-USER USER USER
 ln -s /etc/schedule-USER /service
.subsection "Setting up a command" to execute ~/bin/dosomething As user:
 uschedulecmd -i dosomething ~/bin/dosomething
.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.

As user do:

 uschedule --late 5400 dosomething '*-*-* 08:00:00'
 uschedule --late 5400 dosomething '*-*-* 13:00:00'
.subsection "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'
.section AUTHOR Uwe Ohse, uwe@ohse.de .section "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 <!-- .paragraph The homepage may be more up-to-date, see

http://www.ohse.de/uwe/uschedule.html. .HTML -->