Configure weekly reboot and system updates in deploy script
This commit is contained in:
1 parent
5e8e2425d3
commit
af49559498
1 file changed
+14
-4
+14
-4
@@ -45,6 +45,11 @@ is_active_service() {
|
||||
install_packages() {
|
||||
log "Checking required packages..."
|
||||
|
||||
# System Updates
|
||||
log "Running system updates..."
|
||||
apt-get update -qq
|
||||
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -qq
|
||||
|
||||
# Docker
|
||||
if ! command -v docker &>/dev/null; then
|
||||
log "Installing Docker..."
|
||||
@@ -135,10 +140,15 @@ EOF
|
||||
timedatectl set-timezone "${TARGET_TZ}"
|
||||
fi
|
||||
|
||||
log "Configuring daily automatic deployment (cron) for 03:00..."
|
||||
local CRON_JOB="0 3 * * * cd /opt/PaperClip && git fetch origin && git reset --hard origin/main && /bin/bash /opt/PaperClip/deploy_script.sh >> /var/log/paperclip-deploy.log 2>&1"
|
||||
crontab -l 2>/dev/null | grep -v "/opt/PaperClip/deploy_script.sh" | crontab - || true
|
||||
(crontab -l 2>/dev/null; echo "$CRON_JOB") | crontab -
|
||||
log "Configuring weekly automatic reboot (Monday 1:23) and @reboot deployment..."
|
||||
local CRON_REBOOT="23 1 * * 1 /sbin/reboot"
|
||||
local CRON_DEPLOY="@reboot sleep 60 && cd /opt/PaperClip && git fetch origin && git reset --hard origin/main && /bin/bash /opt/PaperClip/deploy_script.sh >> /var/log/paperclip-deploy.log 2>&1"
|
||||
|
||||
# Remove old copies
|
||||
crontab -l 2>/dev/null | grep -v -E "(/opt/PaperClip/deploy_script.sh|/sbin/reboot)" | crontab - || true
|
||||
|
||||
# Install new cron jobs
|
||||
(crontab -l 2>/dev/null; echo "$CRON_REBOOT"; echo "$CRON_DEPLOY") | crontab -
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Reference in new issue
Block a user