Add script to schedule weekly Monday midnight run
This commit is contained in:
parent
88ad97d0e0
commit
defa052593
31
setup_weekly_cron.sh
Executable file
31
setup_weekly_cron.sh
Executable file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PYTHON_BIN="$(command -v python3 || true)"
|
||||
|
||||
if [[ -z "${PYTHON_BIN}" ]]; then
|
||||
echo "Error: python3 not found in PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_FILE="${PROJECT_DIR}/weekly_main.log"
|
||||
CRON_CMD="cd ${PROJECT_DIR} && ${PYTHON_BIN} ${PROJECT_DIR}/main.py >> ${LOG_FILE} 2>&1"
|
||||
CRON_JOB="0 0 * * 1 ${CRON_CMD}"
|
||||
|
||||
CURRENT_CRON="$(crontab -l 2>/dev/null || true)"
|
||||
|
||||
if grep -Fq "${CRON_CMD}" <<< "${CURRENT_CRON}"; then
|
||||
echo "Cron job already exists:"
|
||||
echo "${CRON_JOB}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
{
|
||||
[[ -n "${CURRENT_CRON}" ]] && echo "${CURRENT_CRON}"
|
||||
echo "${CRON_JOB}"
|
||||
} | crontab -
|
||||
|
||||
echo "Cron job installed successfully:"
|
||||
echo "${CRON_JOB}"
|
||||
echo "Log file: ${LOG_FILE}"
|
||||
Loading…
Reference in New Issue
Block a user