#pragma section-numbers off This page describes the basic use of cron on HCoop systems. <> = Prerequisites = It is very important that you read the [[MemberManual/RunningUnattendedCommands|Running Unattended Commands page]] to understand the general idea of how to run unattended commands. = Making a cron configuration file = Cron needs a special configuration file to tell it how to operate. It is suggested that this file be called {{{~/.crontab}}}, though it can have any name. For an explanation of the format of this file, see the [[http://linux.die.net/man/1/crontab|crontab manual page]] (or run `man crontab` on the shell server). = Managing your cron jobs = == Activating your cron configuration == Once you are satisfied with your setup, run the following command to activate your changes, assuming that your configuration file is called {{{~/.crontab}}}: {{{ crontab ~/.crontab }}} == Disabling your cron jobs == Just run `crontab -r ~/.crontab` == Checking your cron configuration == Run `crontab -l` to display the jobs cron is running for you. = Examples = One convention for making scripts to run commands in their own PAG, as specified by the [[MemberManual/RunningUnattendedCommands|Running Unattended Commands page]], is to create the {{{~/scripts}}} directory, and place your scripts there. Then, make a cron configuration file that looks something like this. {{{ PATH=/afs/hcoop.net/common/bin:/usr/local/bin:/usr/bin:/bin 09 0 * * 0 run-in-pagsh --fg clean-mail ~/scripts/clean-mail 11 0 * * 0 run-in-pagsh --fg remove-tmp ~/scripts/remove-tmp 12 0 * * 0 run-in-pagsh --fg weekly-comment-check ~/scripts/weekly-comment-check */10 * * * * run-in-pagsh --fg make-git-projects ~/scripts/make-git-projects }}} The PATH line is needed so that you have access to {{{run-in-pagsh}}}. Make sure you don't try to reference any other environment variables like {{{$HOME}}}, because cron will not expand them properly. The first cron command runs something 9 minutes after midnight (aka the "0th" hour), every day of the month, every month, provided that it is Sunday (aka the "0th" day of the week). In short: run something at 12:09 every Sunday. The second and third commands are similar. The fourth command runs something every 10 minutes. ---- CategoryMemberManual