From fc466ef79d60a0e2dcafad16412cc3301bc577df Mon Sep 17 00:00:00 2001 From: Scott Koranda Date: Fri, 6 May 2022 06:20:28 -0500 Subject: [PATCH] Add environment variable for cron job user Add the environment variable COMANAGE_REGISTRY_CRON_USER to allow the user for which the cron job should run to be injected. The default is still www-data. --- comanage-registry-base/comanage_utils.sh | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/comanage-registry-base/comanage_utils.sh b/comanage-registry-base/comanage_utils.sh index 3dea860..edf0d44 100644 --- a/comanage-registry-base/comanage_utils.sh +++ b/comanage-registry-base/comanage_utils.sh @@ -129,6 +129,7 @@ function comanage_utils::consume_injected_environment() { COMANAGE_REGISTRY_ADMIN_GIVEN_NAME COMANAGE_REGISTRY_ADMIN_FAMILY_NAME COMANAGE_REGISTRY_ADMIN_USERNAME + COMANAGE_REGISTRY_CRON_USER COMANAGE_REGISTRY_CRONTAB COMANAGE_REGISTRY_DATASOURCE COMANAGE_REGISTRY_DATABASE @@ -177,6 +178,7 @@ function comanage_utils::consume_injected_environment() { # Deploy crontab file # Globals: # COMANAGE_REGISTRY_DIR +# COMANAGE_REGISTRY_CRON_USER # COMANAGE_REGISTRY_CRONTAB # OUTPUT # Arguments: @@ -187,16 +189,23 @@ function comanage_utils::consume_injected_environment() { function comanage_utils::deploy_crontab() { local crontab + local cronuser - if [[ -n "$COMANAGE_REGISTRY_CRONTAB" ]]; then - crontab="$COMANAGE_REGISTRY_CRONTAB" + if [[ -n "${COMANAGE_REGISTRY_CRONTAB}" ]]; then + crontab="${COMANAGE_REGISTRY_CRONTAB}" else - crontab="$COMANAGE_REGISTRY_DIR/local/crontab" + crontab="${COMANAGE_REGISTRY_DIR}/local/crontab" fi - if [[ -f "$crontab" ]]; then - echo "Deploying crontab $crontab..." > "$OUTPUT" 2>&1 - /usr/bin/crontab -u www-data $crontab > "$OUTPUT" 2>&1 + if [[ -n "${COMANAGE_REGISTRY_CRON_USER}" ]]; then + cronuser="${COMANAGE_REGISTRY_CRON_USER}" + else + cronuser="www-data" + fi + + if [[ -f "${crontab}" ]]; then + echo "Deploying crontab ${crontab} for user ${cronuser} ..." > "${OUTPUT}" 2>&1 + /usr/bin/crontab -u "${cronuser}" "${crontab}" > "${OUTPUT}" 2>&1 fi }