docs: create home/homelab/idle-process
This commit is contained in:
parent
e115a12b7a
commit
0af048760a
84
home/homelab/idle-process.md
Normal file
84
home/homelab/idle-process.md
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
---
|
||||||
|
title: Create a Background Idle Prevention Processs
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2025-06-25T11:49:23.320Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2025-06-25T11:49:23.320Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Setting Up a Lightweight Keep-Alive Script on Ubuntu Server 24.04 LTS
|
||||||
|
|
||||||
|
This guide describes how to create a `keep_alive.sh` script to prevent a headless Ubuntu Server from being considered idle and how to configure it as a systemd service for persistence.
|
||||||
|
|
||||||
|
## Creating the Keep-Alive Script
|
||||||
|
|
||||||
|
1. **Create the Script**:
|
||||||
|
Open a terminal and create the script file:
|
||||||
|
```bash
|
||||||
|
nano /usr/local/bin/keep_alive.sh
|
||||||
|
```
|
||||||
|
Add the following content:
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
while true; do
|
||||||
|
echo "Keep alive" > /dev/null
|
||||||
|
sleep 60
|
||||||
|
done
|
||||||
|
```
|
||||||
|
Save and exit by pressing `Ctrl+O`, `Enter`, then `Ctrl+X`.
|
||||||
|
|
||||||
|
2. **Make the Script Executable**:
|
||||||
|
Set execute permissions for the script:
|
||||||
|
```bash
|
||||||
|
chmod +x /usr/local/bin/keep_alive.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Run the Script in the Background**:
|
||||||
|
Start the script in the background, ensuring it persists after logout:
|
||||||
|
```bash
|
||||||
|
nohup /usr/local/bin/keep_alive.sh &
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuring the Script as a Systemd Service
|
||||||
|
|
||||||
|
To ensure the script runs automatically on boot and is managed by the system, configure it as a systemd service.
|
||||||
|
|
||||||
|
1. **Create the Systemd Service File**:
|
||||||
|
Create a service file:
|
||||||
|
```bash
|
||||||
|
sudo nano /etc/systemd/system/keep-alive.service
|
||||||
|
```
|
||||||
|
Add the following content:
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=Keep Alive Script to Prevent Idle
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/local/bin/keep_alive.sh
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
Save and exit (`Ctrl+O`, `Enter`, `Ctrl+X`).
|
||||||
|
|
||||||
|
2. **Enable and Start the Service**:
|
||||||
|
Enable the service to start on boot and run it immediately:
|
||||||
|
```bash
|
||||||
|
sudo systemctl enable keep-alive.service
|
||||||
|
sudo systemctl start keep-alive.service
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Verify the Service Status**:
|
||||||
|
Check that the service is running:
|
||||||
|
```bash
|
||||||
|
systemctl status keep-alive.service
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- **Resource Usage**: The script uses near 0% CPU and minimal memory (a few KB).
|
||||||
|
- **Interval Adjustment**: Modify the `sleep 60` value in the script to change the interval (e.g., `sleep 30` for 30 seconds).
|
||||||
|
- **Monitoring**: Confirm the script is running with `ps aux | grep keep_alive`.
|
||||||
Loading…
x
Reference in New Issue
Block a user