aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoïc Guégan <loic.guegan@mailbox.org>2024-07-06 19:36:08 +0200
committerLoïc Guégan <loic.guegan@mailbox.org>2024-07-06 19:36:08 +0200
commit7296cd08b7a3cc366a85da621f0ad18c4b136f68 (patch)
tree554de9ae835913c1b66fe82142e0954b02bf4e5d
parentb7e94d237a91bc7a6b466403c7c6aef7589f9c41 (diff)
Add log during dump
-rw-r--r--README.md1
-rwxr-xr-xsysdump.sh33
2 files changed, 29 insertions, 5 deletions
diff --git a/README.md b/README.md
index 50f85c6..f1076b1 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,7 @@ Important note: Depending on the system, some entries may not be available.
| Entry | Description |
|-------------------------|------------------------------------------------------------------|
+| dump_log | Contains logs of errors happening during a dump |
| compgen | List all available commands in current shell |
| ping | Check if ping succeed (internet is available) |
| boot_folder | Recursive listing of /boot/ |
diff --git a/sysdump.sh b/sysdump.sh
index 848b081..4cfb00e 100755
--- a/sysdump.sh
+++ b/sysdump.sh
@@ -8,19 +8,39 @@ ensure() {
}
safecat() {
- [ -f "$1" ] && [ -r "$1" ] && cat "$1"
+ if [ -f "$1" ] && [ -r "$1" ]
+ then
+ cat "$1"
+ else
+ echo "File \"$1\" not found or not readable" >> "${LOG_FILE}"
+ fi
}
safecatroot() {
- [ $(id -u) -eq 0 ] && safecat $@
+ if [ $(id -u) -eq 0 ]
+ then
+ safecat $@
+ else
+ echo "File \"$1\" requires root permissions to be read" >> "${LOG_FILE}"
+ fi
}
safecmd() {
- command -v "$1" >/dev/null 2>&1 && $@
+ if command -v "$1" >/dev/null 2>&1
+ then
+ $@
+ else
+ echo "Command $@ not found" >> "${LOG_FILE}"
+ fi
}
safecmdroot() {
- [ $(id -u) -eq 0 ] && safecmd $@
+ if [ $(id -u) -eq 0 ]
+ then
+ safecmd $@
+ else
+ echo "Root permissions required for $@" >> "${LOG_FILE}"
+ fi
}
safegetentry() {
@@ -43,6 +63,7 @@ cleandump() {
}
sysdump() {
+ LOG_FILE=$(mktemp 2>/dev/null|echo "./sysdump.X9_8965252JHFHJGFJHGJHG")
echo "${DUMP_DELIMITER}"
# Start dump
echo "{"
@@ -119,10 +140,12 @@ sysdump() {
dump "dmidecode" safecmdroot dmidecode
dump "iptables" safecmdroot iptables -L
dump "fdisk" safecmdroot fdisk -l
- USE_COMMA=0
dump "dmesg" safecmdroot dmesg
+ USE_COMMA=0
+ dump "dump_log" cat "${LOG_FILE}"
echo "}"
echo "${DUMP_DELIMITER}"
+ rm "${LOG_FILE}"
}
# Parse arguments