#!/bin/bash # Nightly datatracker jobs. # # This script is expected to be triggered by cron from # /etc/cron.d/datatracker export LANG=en_US.UTF-8 export PYTHONIOENCODING=utf-8 # Make sure we stop if something goes wrong: program=${0##*/} trap 'echo "$program($LINENO): Command failed with error code $? ([$$] $0 $*)"; exit 1' ERR # Datatracker directory DTDIR=/a/www/ietf-datatracker/web cd $DTDIR/ logger -p user.info -t cron "Running $DTDIR/bin/daily" # Run the hourly jobs first $DTDIR/bin/hourly # Set up the virtual environment source $DTDIR/env/bin/activate # Get IANA-registered yang models #YANG_IANA_DIR=$(python -c 'import ietf.settings; print ietf.settings.SUBMIT_YANG_IANA_MODEL_DIR') # Hardcode the rsync target to avoid any unwanted deletes: # rsync -avzq --delete rsync.ietf.org::iana/yang-parameters/ /a/www/ietf-ftp/yang/ianamod/ rsync -avzq --delete /a/www/ietf-ftp/iana/yang-parameters/ /a/www/ietf-ftp/yang/ianamod/ # Get Yang models from Yangcatalog. #rsync -avzq rsync://rsync.yangcatalog.org:10873/yangdeps /a/www/ietf-ftp/yang/catalogmod/ /a/www/ietf-datatracker/scripts/sync_to_yangcatalog # Populate the yang repositories $DTDIR/ietf/manage.py populate_yang_model_dirs -v0 # Re-run yang checks on active documents $DTDIR/ietf/manage.py run_yang_model_checks -v0 # Expire last calls # Enable when removed from /a/www/ietf-datatracker/scripts/Cron-runner: $DTDIR/ietf/bin/expire-last-calls # Purge older PersonApiKeyEvents $DTDIR/ietf/manage.py purge_old_personal_api_key_events 14