mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-04-25 08:56:21 +00:00
Update auto_post_install.sh
This commit is contained in:
@@ -231,7 +231,7 @@ optimize_journald() {
|
|||||||
Storage=persistent
|
Storage=persistent
|
||||||
SplitMode=none
|
SplitMode=none
|
||||||
RateLimitIntervalSec=30s
|
RateLimitIntervalSec=30s
|
||||||
RateLimitBurst=1000
|
RateLimitBurst=500
|
||||||
ForwardToSyslog=no
|
ForwardToSyslog=no
|
||||||
ForwardToWall=no
|
ForwardToWall=no
|
||||||
Seal=no
|
Seal=no
|
||||||
@@ -599,6 +599,14 @@ EOF
|
|||||||
|
|
||||||
|
|
||||||
install_log2ram_auto() {
|
install_log2ram_auto() {
|
||||||
|
|
||||||
|
# ── Reinstall detection ─────────────────────────────────────────────────
|
||||||
|
# If log2ram was previously installed by ProxMenux (register_tool "log2ram" true),
|
||||||
|
# skip hardware detection and reinstall directly — no prompts, transparent to user.
|
||||||
|
if [[ -f "$TOOLS_JSON" ]] && jq -e '.log2ram == true' "$TOOLS_JSON" >/dev/null 2>&1; then
|
||||||
|
msg_ok "$(translate "Log2RAM already registered — updating to latest configuration")"
|
||||||
|
else
|
||||||
|
# ── First-time install: detect SSD/M.2 ─────────────────────────────────
|
||||||
msg_info "$(translate "Checking if system disk is SSD or M.2...")"
|
msg_info "$(translate "Checking if system disk is SSD or M.2...")"
|
||||||
|
|
||||||
local is_ssd=false
|
local is_ssd=false
|
||||||
@@ -636,6 +644,8 @@ install_log2ram_auto() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
fi # end first-time install block
|
||||||
|
|
||||||
msg_info "$(translate "Cleaning previous Log2RAM installation...")"
|
msg_info "$(translate "Cleaning previous Log2RAM installation...")"
|
||||||
|
|
||||||
systemctl stop log2ram log2ram-daily.timer >/dev/null 2>&1 || true
|
systemctl stop log2ram log2ram-daily.timer >/dev/null 2>&1 || true
|
||||||
@@ -727,7 +737,7 @@ L2R_BIN="$(command -v log2ram || true)"
|
|||||||
SIZE_MiB="$(grep -E '^SIZE=' "$CONF_FILE" 2>/dev/null | cut -d'=' -f2 | tr -dc '0-9')"
|
SIZE_MiB="$(grep -E '^SIZE=' "$CONF_FILE" 2>/dev/null | cut -d'=' -f2 | tr -dc '0-9')"
|
||||||
[[ -z "$SIZE_MiB" ]] && SIZE_MiB=128
|
[[ -z "$SIZE_MiB" ]] && SIZE_MiB=128
|
||||||
LIMIT_BYTES=$(( SIZE_MiB * 1024 * 1024 ))
|
LIMIT_BYTES=$(( SIZE_MiB * 1024 * 1024 ))
|
||||||
THRESHOLD_BYTES=$(( LIMIT_BYTES * 90 / 100 ))
|
THRESHOLD_BYTES=$(( LIMIT_BYTES * 95 / 100 ))
|
||||||
|
|
||||||
USED_BYTES="$(df -B1 --output=used /var/log 2>/dev/null | tail -1 | tr -dc '0-9')"
|
USED_BYTES="$(df -B1 --output=used /var/log 2>/dev/null | tail -1 | tr -dc '0-9')"
|
||||||
[[ -z "$USED_BYTES" ]] && exit 0
|
[[ -z "$USED_BYTES" ]] && exit 0
|
||||||
@@ -747,13 +757,15 @@ EOF
|
|||||||
SHELL=/bin/bash
|
SHELL=/bin/bash
|
||||||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
MAILTO=""
|
MAILTO=""
|
||||||
*/5 * * * * root /usr/local/bin/log2ram-check.sh >/dev/null 2>&1
|
# Runs every 10 min starting at :03 to avoid overlap with debian-sa1 (:00/:10/:20...)
|
||||||
|
# nice -n 19 + ionice -c 3 ensures minimum CPU/IO priority (no visible spikes)
|
||||||
|
3-59/10 * * * * root nice -n 19 ionice -c 3 /usr/local/bin/log2ram-check.sh >/dev/null 2>&1
|
||||||
EOF
|
EOF
|
||||||
chmod 0644 /etc/cron.d/log2ram-auto-sync
|
chmod 0644 /etc/cron.d/log2ram-auto-sync
|
||||||
chown root:root /etc/cron.d/log2ram-auto-sync
|
chown root:root /etc/cron.d/log2ram-auto-sync
|
||||||
|
|
||||||
systemctl restart cron >/dev/null 2>&1 || true
|
systemctl restart cron >/dev/null 2>&1 || true
|
||||||
msg_ok "$(translate "Auto-sync enabled when /var/log exceeds 90% of") $LOG2RAM_SIZE"
|
msg_ok "$(translate "Auto-sync enabled when /var/log exceeds 95% of") $LOG2RAM_SIZE"
|
||||||
|
|
||||||
|
|
||||||
msg_info "$(translate "Adjusting systemd-journald limits to match Log2RAM size...")"
|
msg_info "$(translate "Adjusting systemd-journald limits to match Log2RAM size...")"
|
||||||
@@ -783,12 +795,7 @@ EOF
|
|||||||
Storage=persistent
|
Storage=persistent
|
||||||
SplitMode=none
|
SplitMode=none
|
||||||
RateLimitIntervalSec=30s
|
RateLimitIntervalSec=30s
|
||||||
RateLimitBurst=1000
|
RateLimitBurst=500
|
||||||
ForwardToSyslog=no
|
|
||||||
ForwardToWall=no
|
|
||||||
Seal=no
|
|
||||||
Compress=yes
|
|
||||||
SystemMaxUse=${USE_MB}M
|
|
||||||
SystemKeepFree=${KEEP_MB}M
|
SystemKeepFree=${KEEP_MB}M
|
||||||
RuntimeMaxUse=${RUNTIME_MB}M
|
RuntimeMaxUse=${RUNTIME_MB}M
|
||||||
# MaxLevelStore=info: required for ProxMenux Monitor log display and Fail2Ban detection.
|
# MaxLevelStore=info: required for ProxMenux Monitor log display and Fail2Ban detection.
|
||||||
@@ -934,4 +941,4 @@ run_complete_optimization() {
|
|||||||
check_extremeshok_warning
|
check_extremeshok_warning
|
||||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||||
run_complete_optimization
|
run_complete_optimization
|
||||||
fi
|
fi
|
||||||
Reference in New Issue
Block a user