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