Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 25 additions & 5 deletions server-power-cycle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,30 @@
# Author: Gagan Gill
# Date: October 22, 2024

# Create directory for scripts
# Server name to work with
SERVER_NAME="server00"

# Create directory & server.name file for scripts
mkdir -p /root/server_cycle
echo "${SERVER_NAME}" > /root/server_cycle/server.name

# Create the main cycle script
cat > /root/server_cycle/cycle.sh << 'EOF'
#!/bin/bash

# Check for server.name file which contains server name we are working on
if [ ! -f /root/server_cycle/server.name ]; then
echo "`date` error: server.name file does not exist" >> /root/server_cycle/error.txt
exit 1
fi

SERVER_NAME=$(cat /root/server_cycle/server.name)

# If start time file doesn't exist, create it
if [ ! -f /root/server_cycle/start_time.txt ]; then
date +%s > /root/server_cycle/start_time.txt
# Since this is first run, enable the server first
lbcli enable server --name server00
lbcli enable server --name "${SERVER_NAME}"
sleep 30
fi

Expand All @@ -28,7 +40,7 @@ end_time=$((start_time + 24*60*60))

if [ $current_time -lt $end_time ]; then
# Disable server
lbcli disable server --name server00
lbcli disable server --name "${SERVER_NAME}"

# Wait 2 minutes
sleep 120
Expand All @@ -42,11 +54,19 @@ EOF
cat > /root/server_cycle/enable.sh << 'EOF'
#!/bin/bash

# Check for server.name file which contains server name we are working on
if [ ! -f /root/server_cycle/server.name ]; then
echo "`date` error: server.name file does not exist" >> /root/server_cycle/error.txt
exit 1
fi

SERVER_NAME=$(cat /root/server_cycle/server.name)

# Wait 1 second for system to stabilize
sleep 1

# Enable server
lbcli enable server --name server00
lbcli enable server --name "${SERVER_NAME}"

# Wait for enable to complete
sleep 30
Expand Down Expand Up @@ -103,7 +123,7 @@ systemctl enable server-cycle
systemctl enable server-cycle-enable

# First enable the server since it might be disabled
lbcli enable server --name server00
lbcli enable server --name "${SERVER_NAME}"
sleep 30

# Now start the cycle service
Expand Down