Files
nodejs-website/cronjob.sh

41 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# 2025-10-14 Hyperling
# Copied cronjob.sh from env-docker/Config/Hugo-Example/files/ to use for this
# project so that docker container can do periodic git pulls rather than having
# to reload /rebuild the container each time a release is pushed out.
## Setup ##
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
PROG="$(basename -- "${BASH_SOURCE[0]}")"
cd $DIR
DIR="`pwd`"
NAME="'$PROG'"
function log {
echo -e "`date` : $NAME - $1"
}
function reload-project {
## Kill node.js which will complete run.sh and restart any Docker containers.
#pkill node
# Do not kill program, just use the new files and if run.sh or main.js were
# changed then they can get reloaded manually or by the nightly backup.
log "Project reloaded successfully!"
}
## Main ##
# Pull any updates, and if the project is already up to date, exit successfully.
git pull | grep -v "up to date"
status="$?"
log "Pull status is '$status'."
if [[ $status != 0 ]]; then
log "Site is already up to date, exiting."
exit 0
else
reload-project
fi
exit 0