Minor changes

This commit is contained in:
Loïc Guégan 2024-07-05 16:37:36 +02:00
parent 90f9e68123
commit 0bd910dc56
2 changed files with 11 additions and 0 deletions

View file

@ -9,6 +9,8 @@ Run a dump:
Run a dump on a remote machine using ssh:
> cat sysdump.sh | ssh user@host /bin/bash > dump.json
Extra ouput from ssh (e.g: MOTD) will be automatically cleaned by `sysdump.sh`.
To explore a dump (require `jq`), see help as follow:
> ./sysdump.sh -h

View file

@ -29,7 +29,14 @@ dump() {
[ "$USE_COMMA" -eq 0 ] && echo "\"${entry}\": \"${value}\""
}
cleandump() {
newdump=$(mktemp)
cat "$1" | awk 'BEGIN{STARTED=0} /#!#!#!#! SYSDUMP START HERE #!#!#!#/{STARTED=1};/#!#!#!#! SYSDUMP END HERE #!#!#!#/{STARTED=0};!/#!#!#!#! SYSDUMP START HERE #!#!#!#/{if(STARTED){print $0}}' > "$newdump"
mv "$newdump" "$1"
}
sysdump() {
echo "#!#!#!#! SYSDUMP START HERE #!#!#!#"
# Start dump
echo "{"
USE_COMMA=1
@ -106,6 +113,7 @@ sysdump() {
USE_COMMA=0
dump "dmesg" safecmdroot dmesg
echo "}"
echo "#!#!#!#! SYSDUMP END HERE #!#!#!#"
}
# Parse arguments
@ -155,6 +163,7 @@ ensure base64
# Do dump
[ "$ACTION" == "dump" ] && { sysdump; exit 0; }
[ $(grep -c '#!#!#!#! SYSDUMP START HERE #!#!#!#' "$1") -ne 0 ] && cleandump "$1"
# List entries
[ "$ACTION" == "list" ] && { ensure jq; cat "$1"|jq -r "keys[]"; exit 0; }
# Parse dump file