<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
  <!ENTITY % addindex "IGNORE">
]>

<article id="kcron" lang="&language;">
<title>Task Scheduler</title>

<articleinfo>
<authorgroup>
<author>
<firstname>Morgan</firstname>
<othername>N.</othername>
<surname>Sandquist</surname>
<affiliation><address>&Morgan.N.Sandquist.mail;</address>
</affiliation>
</author>

<othercredit role="developer">
<firstname>Gary</firstname>
<surname>Meyer</surname>
<affiliation><address>&Gary.Meyer.mail;</address>
</affiliation>
<contrib>Developer</contrib>
</othercredit>

<othercredit role="reviewer">
<firstname>Lauri</firstname>
<surname>Watts</surname>
<affiliation><address>&Lauri.Watts.mail;</address>
</affiliation>
<contrib>Reviewer</contrib>
</othercredit>

<!-- TRANS:ROLES_OF_TRANSLATORS -->

</authorgroup>

<copyright>
<year>2000</year>
<holder>&Morgan.N.Sandquist;</holder>
</copyright>

<date>2017-01-12</date>
<releaseinfo>Applications 16.12</releaseinfo>

<keywordset>
<keyword>KDE</keyword>
<keyword>cron</keyword>
<keyword>crontab</keyword>
<keyword>scheduler</keyword>
</keywordset>

</articleinfo>

<sect1 id="introduction">
<title>Introduction</title>

<para>This is a module for scheduling programs to run in the
background. It is a graphical user interface to <command>cron</command>,
the &UNIX; system scheduler.</para>

<important><para>Don't forget to tell your system to start the
<filename>crond</filename> cron daemon first, or the settings in this 
module will not work.</para></important>

<sect2 id="kcron-start-up">
<title>Start Up</title>

<para>When you start this module you will see a summarized view of existing
scheduled tasks and associated environment variables. If you are running
as the root user, you will see these items for all users on the computer
as well as the system scheduled tasks.</para>
<!--admin mode-->
<screenshot>
<screeninfo>start up</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kcronstart.png" format="PNG"/></imageobject>
<textobject><phrase>start up</phrase></textobject>
</mediaobject>
</screenshot>

<sect3>
<title>Scheduled Tasks</title>

<para>Scheduled tasks appear under a <guilabel>Tasks</guilabel>
list. For each scheduled task, the following items are displayed:</para>

<variablelist>

<!-- system cron first column User=root-->
<varlistentry>
<term><guilabel>Scheduling</guilabel></term>
<listitem><para>In this column either "@reboot" for task schedules at boot or
the crontab entry is displayed.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Command</guilabel></term>
<listitem><para>Program file and parameters.</para></listitem>
</varlistentry>
<varlistentry> 
<term><guilabel>Status</guilabel></term>
<listitem><para>Enabled or Disabled.</para></listitem>
</varlistentry> 
<varlistentry> 
<term><guilabel>Description</guilabel></term>
<listitem><para>A description for the task, such as its
purpose.</para></listitem>
</varlistentry> 
<varlistentry>
<term><guilabel>Scheduling Details</guilabel></term>
<listitem><para>Natural language description of scheduled
task.</para></listitem>
</varlistentry>
</variablelist>

</sect3>

<sect3>
<title>Environment Variables</title>

<para>Environment variables appear in the
<guilabel>Environment Variables</guilabel> list. For each environment variable,
the following are displayed: </para>

<variablelist>
<varlistentry>
<term><guilabel>Variable</guilabel></term>
<listitem><para>Variable name.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Value</guilabel></term>
<listitem><para>Variable value.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Status</guilabel></term>
<listitem><para>Enabled or Disabled.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Comment</guilabel></term>
<listitem><para>Natural language description of variable.</para></listitem>
</varlistentry>
</variablelist>

<para>Environment variables appearing here will override any existing
environment variable for all scheduled tasks.</para>

</sect3>
</sect2>

<sect2 id="new-task">
<title>Adding Scheduled Tasks</title>

<para>To create a new scheduled task, click the <guibutton>New Task...</guibutton>
button. Alternatively, you can select this action from the
<mousebutton>right</mousebutton> mouse button context menu.</para>

<sect3>
<title>The Edit Task Dialog</title>

<screenshot>
<screeninfo><guilabel>Edit Task</guilabel> dialog.</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="newtask.png" format="PNG"/></imageobject>
<textobject><phrase><guilabel>Edit Task</guilabel> dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Command</guilabel></term>
<listitem><para>Enter the name of the program. You can specify either a
relative path or absolute path. If you want to look up the program, click
<guiicon>Browse</guiicon> icon.</para>
</listitem> 
</varlistentry>
<varlistentry>
<term><guilabel>Comment</guilabel></term>
<listitem><para>Enter a description of the task to schedule.</para>
</listitem> 
</varlistentry>
<varlistentry>
<term><guibutton>Enable this task</guibutton></term>
<listitem><para>To enable or disable the task, select or de-select
this button.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guibutton>Run at system bootup</guibutton></term>
<listitem>
<para>Check this button to run the task at system bootup.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guibutton>Run every day</guibutton></term>
<listitem>
<para>If you want to schedule the task to run daily, select this button.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Months</guilabel></term>
<listitem><para>Select the months during which the task is to be
scheduled.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Days of Month</guilabel></term>
<listitem><para>Select the days of the month on which the task is to be
scheduled.</para>
</listitem> 
</varlistentry>
<varlistentry>
<term><guilabel>Days of Week</guilabel></term>
<listitem><para>Select the days of the week on which the task is to be
scheduled.</para>
</listitem> 
</varlistentry>
<varlistentry>
<term><guilabel>Hours</guilabel></term>
<listitem><para>Select the hours on which the task is to be
scheduled.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Minutes</guilabel></term>
<listitem><para>Select the minute at which the task is to be scheduled. <command>cron</command>
does not support scheduling tasks at smaller than one minute intervals.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>OK</guibutton></term>
<listitem><para>Completes the creation of this task.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Cancel</guibutton></term>
<listitem><para>Cancels the creation of this task.</para>
</listitem>
</varlistentry>
</variablelist>

<para>If you select both days of the month, and days of the week, the
task will run when either condition is met. For instance, if you select
the 1st and 15th, and select Sunday, the program will be run every 1st
and 15th of the selected months (regardless of day of week) as well as
every Sunday of the selected months (regardless of day of the
month).</para>

<para>The scheduled task is not actually set up until the
 <filename>crontab</filename> has been saved.</para>

</sect3>
</sect2>

<sect2 id="manage-tasks">
<title>Managing Scheduled Tasks</title>

<para>As with creating new tasks, changes to tasks will not actually be
made until the <filename>crontab</filename> is saved.</para>

<para>Use the buttons at the right of the task list to modify, delete, 
print or run a selected task now. You reach all these actions from the
context menu as well. Additionally the context menu provides actions to 
cut, copy and paste tasks.</para>

</sect2>

<sect2 id="new-variable">
<title>Adding Environment Variables</title>

<para>To create a new environment variable, click the
<guibutton>New Variable...</guibutton> button.</para>

<para>Alternatively, you can use the <mousebutton>right</mousebutton>
mouse button menu to choose this action.</para>

<sect3>
<title>The Edit Variable dialog</title>

<screenshot>
<screeninfo><guilabel>Edit Variable</guilabel> dialog.</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="newvariable.png" format="PNG"/></imageobject>
<textobject><phrase><guilabel>Edit Variable</guilabel>
dialog.</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Variable</guilabel></term> 
<listitem><para>Enter the environment variable name. You can use the drop down
list box to select from the most common environment variables used by scheduled
tasks. Those include:</para>

<variablelist>

<varlistentry>
<term><guimenuitem>HOME</guimenuitem></term>
<listitem><para>To be used instead of the default user's home
folder.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>MAILTO</guimenuitem></term>
<listitem><para>To send email output to an email address other than the user's
default email address.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>PATH</guimenuitem></term>
<listitem><para>To be used to search folders for program
files.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>SHELL</guimenuitem></term>
<listitem><para>To be used instead of the user's default
value.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>LD_CONFIG_PATH</guimenuitem></term>
<listitem><para>The location of dynamic libraries. This allows cron jobs to execute 
applications which have libraries they need to run installed outside the system library path.</para></listitem>
</varlistentry>

</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Value</guilabel></term>
<listitem><para>Enter the environment variable value.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Comment</guilabel></term>
<listitem><para>Enter a description for the environment variable, such as its
purpose.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Enable this variable</guilabel></term>
<listitem>
<para>To enable or disable the variable, select or de-select
this button.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>OK</guibutton></term>
<listitem>
<para>Completes the setting of this variable.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Cancel</guibutton></term>
<listitem>
<para>Cancels the setting of this variable.</para>
</listitem>
</varlistentry>
</variablelist>

<para>The environment variable is not actually set up until the
<filename>crontab</filename> has been saved.</para>

</sect3>
</sect2>

<sect2 id="manage-variables">
<title>Managing Environment Variables</title>

<note><para>As with creating new variables, changes to variables will
not actually be made until the <filename>crontab</filename> is
saved.</para></note>

<para>Use the buttons at the right of the variable list to modify or delete 
a selected variable. You reach all these actions from the
context menu as well. Additionally the context menu provides actions to 
cut, copy and paste variables.</para>

</sect2>
</sect1>
</article>

<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->     
