- У меня есть личный домашний сервер под управлением Ubuntu. Я бы хотел, чтобы он перешел в спящий режим после того, как активность сервера замедлилась, чтобы снизить энергопотребление.
- Я написал сценарий оболочки для проверки использования сети Docker Bridge. Если его значение ниже определенного порога в МБ, я считаю сервер неактивным и приостанавливаю его.
- У меня этот скрипт запускается каждые 2 часа с помощью cron (на данный момент я запускаю его каждые 2 минуты для отладка)
- У меня возникли проблемы с правильной работой.
- Сначала я ssh на мой домашний сервер
- Затем я написал код для сценария bash:
Код: Выделить всё
#!/bin/bash
# Usage threshold in bytes (2MB = 5 * 1024 * 1024)
THRESHOLD=$((2 * 1024 * 1024))
INTERVAL=5
calculate_docker_traffic() {
RX_BEFORE=0
TX_BEFORE=0
for IFACE in $(ls /sys/class/net | grep '^br-'); do
RX_BEFORE=$((RX_BEFORE + $(cat /sys/class/net/$IFACE/statistics/rx_bytes)))
TX_BEFORE=$((TX_BEFORE + $(cat /sys/class/net/$IFACE/statistics/tx_bytes)))
done
echo "$RX_BEFORE $TX_BEFORE"
}
read RX_BEFORE TX_BEFORE < требует пароль?
[*]Есть ли более простой способ или другой инструмент для достижения моей цели?
[/list]
Подробнее здесь: [url]https://stackoverflow.com/questions/79316946/sleeping-ubuntu-with-a-bash-script-based-on-docker-network-traffic[/url]