1
0
mirror of https://github.com/xzeldon/vwdump.git synced 2025-06-28 02:28:14 +03:00
vwdump/entrypoint.sh
jmqm fe9ab8e045
Cron job fixes
- Previously, changes in CRON_TIME will apply but the previous CRON_TIME will not be removed.
  - Jobs are now cleared when ran every time.
  - Backup and delete scripts are now added when ran every time.
  - An echo is added to signify that parameters, changed or not, are acknowledged and applied.
2021-07-15 14:26:59 -05:00

44 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
BACKUP_CMD="/sbin/su-exec ${UID}:${GID} /app/backup.sh"
DELETE_CMD="/sbin/su-exec ${UID}:${GID} /app/delete.sh"
LOGS_FILE="/app/log/backup.log"
# If passed "manual", run backup script once ($1 = First argument passed).
if [ "$1" = "manual" ]; then
echo "[INFO] Running one-time, started at $(date +"%F %r")."
$BACKUP_CMD
exit 0
fi
# Create cron jobs if root.
if [ "$(id -u)" -eq 0 ]; then
# Clear cron jobs.
echo "" | crontab -
echo "[INFO] Cron jobs cleared."
# Add backup script to cron jobs.
(crontab -l 2>/dev/null; echo "$CRON_TIME $BACKUP_CMD >> $LOGS_FILE 2>&1") | crontab -
echo "[INFO] Added backup script to cron jobs."
# Add delete script to cron jobs if DELETE_AFTER is not null and is greater than 0.
if [ -n "$DELETE_AFTER" ] && [ "$DELETE_AFTER" -gt 0 ]; then
(crontab -l 2>/dev/null; echo "$CRON_TIME $DELETE_CMD >> $LOGS_FILE 2>&1") | crontab -
echo "[INFO] Added delete script to cron jobs."
fi
fi
# Start crond if it's not running.
pgrep crond > /dev/null 2>&1
if [ $? -ne 0 ]; then
/usr/sbin/crond -L /app/log/cron.log
fi
# Restart script as user "app:app".
if [ "$(id -u)" -eq 0 ]; then
exec su-exec app:app "$0" "$@"
fi
echo "[INFO] Running automatically (${CRON_TIME}), started at $(date +"%F %r")." > "$LOGS_FILE"
tail -F "$LOGS_FILE" # Keeps terminal open and writes logs.