Provided by: slurm-client_24.11.3-2_amd64 bug

NAME

       scrontab - manage Slurm crontab files

SYNOPSIS

       scrontab [-u user] file
       scrontab [-u user] [ -e | -l | -r ]

DESCRIPTION

       scrontab  is used to set, edit, and remove a user's Slurm-managed crontab.  This file can define a number
       of recurring batch jobs to run on a scheduled interval.

       Lines must be either comments starting with '#', whitespace, valid crontab  entries  or  custom  variable
       settings.

       Lines  starting  with  #SCRON allow options to be defined for the single following crontab entry. Options
       are always reset in between each crontab entry. Options include most of those  available  to  the  sbatch
       command; details are available in the sbatch(1) man page.

       Note that jobs are not guaranteed to execute at the preferred time. Jobs will run no more frequently than
       requested,  but  are  managed  by  setting  the BeginTime field to the next valid iteration, and are then
       subject to queuing delays. The exact behavior will depend on the local site  configuration.   Because  of
       this method of implementation, the next job in the series won't be submitted until after the previous job
       has  completed. For example, if you have a monitoring job that is scheduled to run every minute on a busy
       system, if the job scheduled to start at 08:20:00 isn't able to start until 08:20:30 and it runs  for  35
       seconds then the job at 08:21:00 will be skipped and the next job will be scheduled for 08:22:00.

       scrontab  uses the same syntax for date and time specifiers as cron.  Each line has five fields that have
       the following meanings:
              field           allowed values
              -----           --------------
              minute          0-59
              hour            0-23
              day of month    1-31
              month           1-12 (or name)
              day of week     0-7 (0 and 7 are Sunday, or use name)

       A field can contain an asterisk (*) which means that it's valid for each of the allowed  values  for  the
       given time period. Ranges are allowed where a range is two numbers with a hyphen between them. The second
       number  must  be  greater than the first. Lists are allowed, with commas separating the numbers or ranges
       being separated. Step values can be specified by entering a  slash  (/),  followed  by  the  step  value,
       causing the job to run at the specified interval appropriate for that field.

       Custom  variables  can be defined as within a regular shell script. The `$' character introduces variable
       expansion. Simple parameter expansion is the only currently accepted expansion variant (i.e. ${parameter}
       or ${parameter:-word} are not supported). The variable expansion will  only  occur  within  scrontab  job
       commands.  It  is  not  possible  to expand variables in other type of lines (other variable definitions,
       comments or crontab entries). The expansion will happen before  submitting  the  job,  but  the  variable
       definitions  will  remain  in  the  scrontab  script.  Unlike crontab, the user environment variables are
       ignored.

OPTIONS

       The first form of this command is used to install a new crontab from some named file or standard input if
       the pseudo-filename ``-'' is given.

       -e     Edit the crontab. If a crontab does not exist already, a  default  example  (without  any  defined
              entries) will be provided in the editor.

       -l     List the crontab. (Prints directly to stdout.)

       -r     Remove  the  crontab.  Any currently running crontab-defined jobs will continue to run but will no
              longer recur. All other crontab-defined jobs will be cancelled.

       -u <user>
              Edit or view  a  different  user's  crontab.  Listing  is  permitted  for  Operators  and  Admins.
              Editing/removal is only permitted for root and the SlurmUser account.

SCRONTAB OPTIONS

       scrontab  allows  you  to use shortcuts to specify some common time intervals for the specified script to
       run. These include the following:

       @yearly | @annually
              Job will become eligible at 00:00 Jan 01 each year.

       @monthly
              Job will become eligible at 00:00 on the first day of each month.

       @weekly
              Job will become eligible at 00:00 Sunday of each week.

       @daily | @midnight
              Job will become eligible at 00:00 each day.

       @hourly
              Job will become eligible at the first minute of each hour.

       @elevenses
              Job will become eligible at 11:00 each day.  (This is a non-standard extension.)

       @fika  Job will become eligible at 15:00 each day.  (This is a non-standard extension.)

       @teatime
              Job will become eligible at 16:00 each day.  (This is a non-standard extension.)

ENVIRONMENT VARIABLES

       VISUAL              Used as the interactive editor if set.

       EDITOR              Used as the interactive editor if set and VISUAL is not defined.

       SLURM_CONF          The location of the Slurm configuration file.

       SLURM_DEBUG_FLAGS   Specify debug flags for scrontab to use. See DebugFlags in the slurm.conf(5) man page
                           for a full list of flags. The environment variable takes precedence over the  setting
                           in the slurm.conf.

NOTES

       scrontab is only available if the ScronParameters=enable option has been enabled in the slurm.conf.

       scrontab  will  create  a  temporary  file  in  the  directory set by TMPDIR environment variable. If the
       variable is not set /tmp is used.

       Jobs created with scrontab are assigned a single job id. When cancelled all future runs of the  job  will
       also be cancelled. The job definition will be commented out in the users scrontab file.

       Using  "scontrol  requeue <job_id>" will skip the next run of the cron job and reschedule it for the next
       available time based on the cron expression.

EXAMPLES

       To create a job that would run at the beginning of each hour, using the 'high' partition, 'sub1'  account
       and have a walltime of 1 minute, you would add the following to scrontab:

              DIR=/home/user1
              #SCRON -p high
              #SCRON -A sub1
              #SCRON -t 1:00
              @hourly $DIR/date.printer.job

       To  have  a job run every Wednesday, every other hour during the work day, each of the first five minutes
       of the hour and again at the thirty minute mark, you would add the following to scrontab.

              1-5,30 8-17/2 * * wed $DIR/example.job

LIMITATIONS

       The Slurm controller's timezone is what will be used to evaluate  each  crontab's  repetition  intervals.
       User-specific timezones are not supported.

COPYING

       Copyright (C) 2020-2022 SchedMD LLC.

       This    file    is    part    of    Slurm,   a   resource   management   program.    For   details,   see
       <https://slurm.schedmd.com/>.

       Slurm is free software; you can redistribute it and/or modify it under  the  terms  of  the  GNU  General
       Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       Slurm  is  distributed  in  the  hope  that it will be useful, but WITHOUT ANY WARRANTY; without even the
       implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR  PURPOSE.  See  the  GNU  General  Public
       License for more details.

SEE ALSO

       sbatch(1), squeue(1), slurm.conf(5)

February 2024                                    Slurm Commands                                      scrontab(1)