# Evergreen crontab.example # Author: Joe Atzberger, ESI # Author: Bill Erickson, ESI # # This is an example of a crontab file for Debian. It may not work # in other versions of crontab, like on Solaris 8 or BSD, for example. # # While similar in structure, # this is NOT an example for cron (as root). Cron takes an extra # argument per line to designate the user to run as. You could # reasonably extrapolate the needed info from here though. # # WARNING: These jobs will do things like charge fines, send # potentially VERY MANY emails to patrons and even debar offending # users. DO NOT RUN OR SCHEDULE these jobs without being sure you # really intend to. Make sure the relevant message templates are # configured to your liking before scheduling messages to be sent. # # Except where indicated, these processes only need to run # on 1 Evergreen server/brick. # ENVIRONMENT: # First, establish Evergreen ENV variables. # OPENILS = /openils SRF_CORE = /openils/conf/opensrf_core.xml EG_BIN_DIR = /openils/bin # crontab format: # m h dom mon dow command # Run the hold targeter * */4 * * * . ~/.bashrc && $EG_BIN_DIR/hold_targeter.pl $SRF_CORE # Run the hold thawer 5 0 * * * . ~/.bashrc && $EG_BIN_DIR/thaw_expired_frozen_holds.srfsh # Generate fines 30 0 * * * . ~/.bashrc && $EG_BIN_DIR/fine_generator.pl $SRF_CORE # Run the reshelving completer 2 0 * * * . ~/.bashrc && $EG_BIN_DIR/reshelving_complete.srfsh # create the list of blocked patrons for offline use # Note: The resulting list.txt file needs to be copied to all Apache servers 30 6 * * * . ~/.bashrc && $EG_BIN_DIR/offline-blocked-list.pl $SRF_CORE > $OPENILS/var/web/standalone/list.txt # Restart SIP nightly to free up any orphaned processes. # Note: Run on all SIP servers # 5 2 * * * . ~/.bashrc && oils_ctl.sh -d $OPENILS/var/pid -s $OPENILS/conf/oils_sip.xml -a stop_sip # 8 2 * * * . ~/.bashrc && oils_ctl.sh -d $OPENILS/var/pid -s $OPENILS/conf/oils_sip.xml -a start_sip # Action/Trigger entries ---- # Runs all pending A/T events every half hour 0 */2 * * * . ~/.bashrc && $EG_BIN_DIR/action_trigger_runner.pl --osrf-config $SRF_CORE --run-pending # Passive A/T event generation. # Note: the --granularity flag is not supported in 1.6 # Note: passive event defs with no granularity will be processed regardless of any granularity flags # Note: push these back to 3am so they will run after the fine generator and spread out the start minute to reduce dogpiling 0 * * * * . ~/.bashrc && $EG_BIN_DIR/action_trigger_runner.pl --osrf-config $SRF_CORE --process-hooks --granularity hourly 5 3 * * * . ~/.bashrc && $EG_BIN_DIR/action_trigger_runner.pl --osrf-config $SRF_CORE --process-hooks --granularity daily 10 3 * * 1-5 . ~/.bashrc && $EG_BIN_DIR/action_trigger_runner.pl --osrf-config $SRF_CORE --process-hooks --granularity weekdays 15 3 * * 0 . ~/.bashrc && $EG_BIN_DIR/action_trigger_runner.pl --osrf-config $SRF_CORE --process-hooks --granularity weekly 20 3 1 * * . ~/.bashrc && $EG_BIN_DIR/action_trigger_runner.pl --osrf-config $SRF_CORE --process-hooks --granularity monthly 25 3 1 1 * . ~/.bashrc && $EG_BIN_DIR/action_trigger_runner.pl --osrf-config $SRF_CORE --process-hooks --granularity yearly # Legacy overdue/predue notice generator. Change to suit. #XML_FILE_PREFIX = /openils/var/data/overdue/overdue #0 3 * * * . ~/.bashrc && cd $EG_BIN_DIR && ./generate_circ_notices.pl --osrf_config $SRF_CORE --notice-types overdue,predue --generate-global-templates --send-email > $XML_FILE_PREFIX.$(date +"\%F").xml # TODO: add other entries