39 lines
1 KiB
Bash
39 lines
1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# Run Go vault in local mode inside Docker container
|
||
|
|
# Add to crontab: */5 * * * * /path/to/scripts/vault-cron-prod.sh
|
||
|
|
|
||
|
|
CONTAINER_NAME="cmc-prod-go"
|
||
|
|
LOG_FILE="/home/cmc/logs/vault-go.log"
|
||
|
|
|
||
|
|
# Ensure log directory exists
|
||
|
|
mkdir -p "$(dirname "$LOG_FILE")"
|
||
|
|
|
||
|
|
# Check if container is running
|
||
|
|
if ! docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
||
|
|
echo "$(date): Error: Container $CONTAINER_NAME is not running" >> "$LOG_FILE"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Run vault in local mode
|
||
|
|
echo "$(date): Starting vault processing..." >> "$LOG_FILE"
|
||
|
|
|
||
|
|
docker exec -t "$CONTAINER_NAME" ./vault --mode=local \
|
||
|
|
--vaultdir=/var/www/vaultmsgs/new \
|
||
|
|
--processeddir=/var/www/vaultmsgs/cur \
|
||
|
|
--emaildir=/var/www/emails \
|
||
|
|
--dbhost=cmc-prod-db \
|
||
|
|
--dbuser=cmc \
|
||
|
|
--dbpass="xVRQI&cA?7AU=hqJ!%au" \
|
||
|
|
--dbname=cmc \
|
||
|
|
>> "$LOG_FILE" 2>&1
|
||
|
|
|
||
|
|
EXIT_CODE=$?
|
||
|
|
|
||
|
|
if [ $EXIT_CODE -eq 0 ]; then
|
||
|
|
echo "$(date): Vault completed successfully" >> "$LOG_FILE"
|
||
|
|
else
|
||
|
|
echo "$(date): Vault failed with exit code $EXIT_CODE" >> "$LOG_FILE"
|
||
|
|
fi
|
||
|
|
|
||
|
|
exit $EXIT_CODE
|