diff options
Diffstat (limited to 'remote/modules/hardware-stats')
| -rwxr-xr-x | remote/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update | 4 | ||||
| -rwxr-xr-x | remote/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats | 25 |
2 files changed, 19 insertions, 10 deletions
diff --git a/remote/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update b/remote/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update index 630c8729..b1ab4e2d 100755 --- a/remote/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update +++ b/remote/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update @@ -1,9 +1,11 @@ #!/bin/ash +[ -r "/run/system-uuid" ] || exit 0 + . /opt/openslx/config [ -z "$SLX_REMOTE_LOG" ] && exit 0 -UUID=$(cat /run/system-uuid) +UUID=$(cat "/run/system-uuid") [ -z "$UUID" ] && exit 1 diff --git a/remote/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats b/remote/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats index 97c74901..890df9c8 100755 --- a/remote/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats +++ b/remote/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats @@ -30,7 +30,6 @@ if [ "${#UUID}" -ne "36" ]; then echo "Determined UUID (${UUID}) has not expected length of 36, falling back to MAC..." UUID="000000000000000-$BOOTIF" fi -echo "$UUID" > /run/system-uuid # 3) Uptime in seconds UPTIME=$(grep -o -E '^[0-9]+' /proc/uptime) @@ -142,12 +141,20 @@ EOF dmidecode >> "$DATAFILE" # Fire away -curl --data-urlencode "type=~poweron" --data-urlencode "uuid=$UUID" --data-urlencode "macaddr=$MAC" \ - --data-urlencode "uptime=$UPTIME" --data-urlencode "realcores=$CPUCORES" --data-urlencode "mbram=$RAM" \ - --data-urlencode "kvmstate=$VT" --data-urlencode "cpumodel=$CPUMODEL" --data-urlencode "id44mb=$ID44" \ - --data-urlencode "badsectors=$BADSECTORS" \ - --data-urlencode "data@$DATAFILE" "$SLX_REMOTE_LOG" -rm -f -- "$DATAFILE" - -exit 0 +for DELAY in 1 1 0; do + if curl --data-urlencode "type=~poweron" --data-urlencode "uuid=$UUID" --data-urlencode "macaddr=$MAC" \ + --data-urlencode "uptime=$UPTIME" --data-urlencode "realcores=$CPUCORES" --data-urlencode "mbram=$RAM" \ + --data-urlencode "kvmstate=$VT" --data-urlencode "cpumodel=$CPUMODEL" --data-urlencode "id44mb=$ID44" \ + --data-urlencode "badsectors=$BADSECTORS" \ + --data-urlencode "data@$DATAFILE" "$SLX_REMOTE_LOG" | grep -q "RESULT=0"; then + rm -f -- "$DATAFILE" + echo "$UUID" > "/run/system-uuid" + exit 0 + fi + sleep "$DELAY" +done + +echo "Server doesn't seem to support hardware/usage stats - disabling logging" +rm -f -- "/etc/cron.d/usage_stats" +exit 1 |
