Improve script
This commit is contained in:
parent
1120e46df5
commit
8c665e4e1c
2 changed files with 46 additions and 32 deletions
|
@ -11,3 +11,6 @@ Run a dump on a remote machine using ssh:
|
||||||
|
|
||||||
Explore a dump (require `jq`)
|
Explore a dump (require `jq`)
|
||||||
> ./sysdump.sh dump.json
|
> ./sysdump.sh dump.json
|
||||||
|
|
||||||
|
Explore specific keys of a dump
|
||||||
|
> ./sysdump.sh dump.json uname timezone
|
||||||
|
|
75
sysdump.sh
75
sysdump.sh
|
@ -15,7 +15,8 @@ safecmd() {
|
||||||
dump() {
|
dump() {
|
||||||
[ -z "$2" ] && return
|
[ -z "$2" ] && return
|
||||||
key=$1
|
key=$1
|
||||||
value=$(echo "$2"|base64 -w 0)
|
shift
|
||||||
|
value=$($@|base64 -w 0)
|
||||||
[ "$USE_COMMA" -eq 1 ] && echo "\"${key}\": \"${value}\","
|
[ "$USE_COMMA" -eq 1 ] && echo "\"${key}\": \"${value}\","
|
||||||
[ "$USE_COMMA" -eq 0 ] && echo "\"${key}\": \"${value}\""
|
[ "$USE_COMMA" -eq 0 ] && echo "\"${key}\": \"${value}\""
|
||||||
}
|
}
|
||||||
|
@ -26,6 +27,16 @@ then
|
||||||
ensure jq
|
ensure jq
|
||||||
file=$1
|
file=$1
|
||||||
[ ! -f "$file" ] && { echo >&2 "Dump \"$file\" not found, abort..."; exit 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
|
while IFS= read -r key; do
|
||||||
echo "====================> $key"
|
echo "====================> $key"
|
||||||
cat "$file"|jq -r ".[\"${key}\"]"|base64 -d
|
cat "$file"|jq -r ".[\"${key}\"]"|base64 -d
|
||||||
|
@ -41,37 +52,37 @@ ensure find
|
||||||
# Start dump
|
# Start dump
|
||||||
echo "{"
|
echo "{"
|
||||||
USE_COMMA=1
|
USE_COMMA=1
|
||||||
dump "date" "$(date +%s)"
|
dump "date" date +%s
|
||||||
dump "hostname" "$(safecmd hostname)"
|
dump "hostname" safecmd hostname
|
||||||
dump "id" "$(safecmd id)"
|
dump "id" safecmd id
|
||||||
dump "uid" "$(safecmd id -u)"
|
dump "uid" safecmd id -u
|
||||||
dump "gid" "$(safecmd id -g)"
|
dump "gid" safecmd id -g
|
||||||
dump "gids" "$(safecmd id -G)"
|
dump "gids" safecmd id -G
|
||||||
dump "ipaddr" "$(safecmd ip addr)"
|
dump "ipaddr" safecmd ip addr
|
||||||
dump "/etc/nftables.conf" "$(safecat /etc/nftables.conf)"
|
dump "/etc/nftables.conf" safecat /etc/nftables.conf
|
||||||
dump "/proc/cpuinfo" "$(safecat /proc/cpuinfo)"
|
dump "/proc/cpuinfo" safecat /proc/cpuinfo
|
||||||
dump "/etc/os-release" "$(safecat /etc/os-release)"
|
dump "/etc/os-release" safecat /etc/os-release
|
||||||
dump "/proc/zoneinfo" "$(safecat /proc/zoneinfo)"
|
dump "/proc/zoneinfo" safecat /proc/zoneinfo
|
||||||
dump "/proc/meminfo" "$(safecat /proc/meminfo)"
|
dump "/proc/meminfo" safecat /proc/meminfo
|
||||||
dump "/proc/cmdline" "$(safecat /proc/cmdline)"
|
dump "/proc/cmdline" safecat /proc/cmdline
|
||||||
dump "uname" "$(uname -a)"
|
dump "uname" uname -a
|
||||||
dump "lsb_release" "$(safecmd lsb_release)"
|
dump "lsb_release" safecmd lsb_release
|
||||||
dump "uptime" "$(safecmd uptime)"
|
dump "uptime" safecmd uptime
|
||||||
dump "mount" "$(safecmd mount)"
|
dump "mount" safecmd mount
|
||||||
dump "lscpu" "$(safecmd lscpu)"
|
dump "lscpu" safecmd lscpu
|
||||||
dump "lsblk" "$(safecmd lsblk)"
|
dump "lsblk" safecmd lsblk
|
||||||
dump "lsusb" "$(safecmd lsusb)"
|
dump "lsusb" safecmd lsusb
|
||||||
dump "lsmod" "$(safecmd lsmod)"
|
dump "lsmod" safecmd lsmod
|
||||||
dump "lspci" "$(safecmd lspci)"
|
dump "lspci" safecmd lspci
|
||||||
dump "lsirq" "$(safecmd lsirq)"
|
dump "lsirq" safecmd lsirq
|
||||||
dump "lsfd" "$(safecmd lsfd)"
|
dump "lsfd" safecmd lsfd
|
||||||
dump "locale" "$(safecmd locale)"
|
dump "locale" safecmd locale
|
||||||
dump "timezone" "$(safecat /etc/timezone)"
|
dump "timezone" safecat /etc/timezone
|
||||||
dump "systemctl" "$(safecmd systemctl --no-pager)"
|
dump "systemctl" safecmd systemctl --no-pager
|
||||||
dump "free" "$(safecmd free -h)"
|
dump "free" safecmd free -h
|
||||||
dump "df" "$(safecmd df -h)"
|
dump "df" safecmd df -h
|
||||||
dump "boot_folder" "$(safecmd ls -al /boot/)"
|
dump "boot_folder" safecmd ls -al /boot/
|
||||||
USE_COMMA=0
|
USE_COMMA=0
|
||||||
dump "root_folder" "$(safecmd ls -al /)"
|
dump "root_folder" safecmd ls -al /
|
||||||
echo "}"
|
echo "}"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue