#!/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}"