aboutsummaryrefslogtreecommitdiff
path: root/sysdump.sh
diff options
context:
space:
mode:
authorLoïc Guégan <loic.guegan@mailbox.org>2024-07-04 12:12:34 +0200
committerLoïc Guégan <loic.guegan@mailbox.org>2024-07-04 12:12:34 +0200
commit8c665e4e1c5eec6be03427895ce0052d85c4f1ba (patch)
tree5b1ca25263f4ee6b78c31be7a307dba7cef4856f /sysdump.sh
parent1120e46df5c1cdde038070dc97529e4b49222888 (diff)
Improve script
Diffstat (limited to 'sysdump.sh')
-rwxr-xr-xsysdump.sh75
1 files changed, 43 insertions, 32 deletions
diff --git a/sysdump.sh b/sysdump.sh
index d4a30dc..f7de850 100755
--- a/sysdump.sh
+++ b/sysdump.sh
@@ -15,7 +15,8 @@ safecmd() {
dump() {
[ -z "$2" ] && return
key=$1
- value=$(echo "$2"|base64 -w 0)
+ shift
+ value=$($@|base64 -w 0)
[ "$USE_COMMA" -eq 1 ] && echo "\"${key}\": \"${value}\","
[ "$USE_COMMA" -eq 0 ] && echo "\"${key}\": \"${value}\""
}
@@ -26,6 +27,16 @@ then
ensure jq
file=$1
[ ! -f "$file" ] && { echo >&2 "Dump \"$file\" not found, abort..."; exit 1; }
+ if [ $# -gt 1 ]
+ then
+ shift
+ for key in $@
+ do
+ echo "====================> $key"
+ cat "$file"|jq -r ".[\"${key}\"]"|base64 -d
+ done
+ exit 0
+ fi
while IFS= read -r key; do
echo "====================> $key"
cat "$file"|jq -r ".[\"${key}\"]"|base64 -d
@@ -41,37 +52,37 @@ ensure find
# Start dump
echo "{"
USE_COMMA=1
-dump "date" "$(date +%s)"
-dump "hostname" "$(safecmd hostname)"
-dump "id" "$(safecmd id)"
-dump "uid" "$(safecmd id -u)"
-dump "gid" "$(safecmd id -g)"
-dump "gids" "$(safecmd id -G)"
-dump "ipaddr" "$(safecmd ip addr)"
-dump "/etc/nftables.conf" "$(safecat /etc/nftables.conf)"
-dump "/proc/cpuinfo" "$(safecat /proc/cpuinfo)"
-dump "/etc/os-release" "$(safecat /etc/os-release)"
-dump "/proc/zoneinfo" "$(safecat /proc/zoneinfo)"
-dump "/proc/meminfo" "$(safecat /proc/meminfo)"
-dump "/proc/cmdline" "$(safecat /proc/cmdline)"
-dump "uname" "$(uname -a)"
-dump "lsb_release" "$(safecmd lsb_release)"
-dump "uptime" "$(safecmd uptime)"
-dump "mount" "$(safecmd mount)"
-dump "lscpu" "$(safecmd lscpu)"
-dump "lsblk" "$(safecmd lsblk)"
-dump "lsusb" "$(safecmd lsusb)"
-dump "lsmod" "$(safecmd lsmod)"
-dump "lspci" "$(safecmd lspci)"
-dump "lsirq" "$(safecmd lsirq)"
-dump "lsfd" "$(safecmd lsfd)"
-dump "locale" "$(safecmd locale)"
-dump "timezone" "$(safecat /etc/timezone)"
-dump "systemctl" "$(safecmd systemctl --no-pager)"
-dump "free" "$(safecmd free -h)"
-dump "df" "$(safecmd df -h)"
-dump "boot_folder" "$(safecmd ls -al /boot/)"
+dump "date" date +%s
+dump "hostname" safecmd hostname
+dump "id" safecmd id
+dump "uid" safecmd id -u
+dump "gid" safecmd id -g
+dump "gids" safecmd id -G
+dump "ipaddr" safecmd ip addr
+dump "/etc/nftables.conf" safecat /etc/nftables.conf
+dump "/proc/cpuinfo" safecat /proc/cpuinfo
+dump "/etc/os-release" safecat /etc/os-release
+dump "/proc/zoneinfo" safecat /proc/zoneinfo
+dump "/proc/meminfo" safecat /proc/meminfo
+dump "/proc/cmdline" safecat /proc/cmdline
+dump "uname" uname -a
+dump "lsb_release" safecmd lsb_release
+dump "uptime" safecmd uptime
+dump "mount" safecmd mount
+dump "lscpu" safecmd lscpu
+dump "lsblk" safecmd lsblk
+dump "lsusb" safecmd lsusb
+dump "lsmod" safecmd lsmod
+dump "lspci" safecmd lspci
+dump "lsirq" safecmd lsirq
+dump "lsfd" safecmd lsfd
+dump "locale" safecmd locale
+dump "timezone" safecat /etc/timezone
+dump "systemctl" safecmd systemctl --no-pager
+dump "free" safecmd free -h
+dump "df" safecmd df -h
+dump "boot_folder" safecmd ls -al /boot/
USE_COMMA=0
-dump "root_folder" "$(safecmd ls -al /)"
+dump "root_folder" safecmd ls -al /
echo "}"