Improve dump content

This commit is contained in:
Loïc Guégan 2024-07-07 00:15:24 +02:00
parent 72536b30da
commit 2dd01045e2
2 changed files with 17 additions and 2 deletions

View file

@ -30,6 +30,7 @@ Important note: Depending on the system, some entries may not be available.
| kernel_config | Get kernel config | | kernel_config | Get kernel config |
| users | List logged users | | users | List logged users |
| declare | Get all shell defined variables, functions etc | | declare | Get all shell defined variables, functions etc |
| tar_\<path\> | Contains specific files/directory backup (tar archive) |
# Notes # Notes
- Some commands require root permissions. If `sysdump.sh` is not run - Some commands require root permissions. If `sysdump.sh` is not run

View file

@ -56,6 +56,15 @@ dump() {
[ "$USE_COMMA" -eq 0 ] && echo "\"${entry}\": \"${value}\"" [ "$USE_COMMA" -eq 0 ] && echo "\"${entry}\": \"${value}\""
} }
dumpdisk() {
[ -z "$2" ] && return
entry=$1
shift
value=$(tar cf - "$1" 2>/dev/null|base64 -w 0)
[ "$USE_COMMA" -eq 1 ] && echo "\"${entry}\": \"${value}\","
[ "$USE_COMMA" -eq 0 ] && echo "\"${entry}\": \"${value}\""
}
cleandump() { cleandump() {
newdump=$(mktemp) newdump=$(mktemp)
cat "$1" | awk 'BEGIN{STARTED=0};/'"${DUMP_DELIMITER}"'/{if(STARTED){STARTED=0}else{STARTED=1}};!/'"${DUMP_DELIMITER}"'/{if(STARTED){print $0}}' > "$newdump" cat "$1" | awk 'BEGIN{STARTED=0};/'"${DUMP_DELIMITER}"'/{if(STARTED){STARTED=0}else{STARTED=1}};!/'"${DUMP_DELIMITER}"'/{if(STARTED){print $0}}' > "$newdump"
@ -78,6 +87,7 @@ sysdump() {
dump "/etc/group" safecat /etc/group dump "/etc/group" safecat /etc/group
dump "$HOME/.bashrc" safecat $HOME/.bashrc dump "$HOME/.bashrc" safecat $HOME/.bashrc
dump "$HOME/.bash_profile" safecat $HOME/.bash_profile dump "$HOME/.bash_profile" safecat $HOME/.bash_profile
dump "$HOME/.bash_history" safecat $HOME/.bash_history
dump "/etc/fstab" safecat /etc/fstab dump "/etc/fstab" safecat /etc/fstab
dump "/etc/ssh/sshd_config" safecat /etc/ssh/sshd_config dump "/etc/ssh/sshd_config" safecat /etc/ssh/sshd_config
dump "/proc/cpuinfo" safecat /proc/cpuinfo dump "/proc/cpuinfo" safecat /proc/cpuinfo
@ -96,6 +106,7 @@ sysdump() {
# safecatroot # safecatroot
dump "/etc/shadow" safecatroot /etc/shadow dump "/etc/shadow" safecatroot /etc/shadow
dump "/etc/sudoers" safecatroot /etc/sudoers dump "/etc/sudoers" safecatroot /etc/sudoers
dump "/boot/grub/grub.cfg" safecatroot /boot/grub/grub.cfg
# safecmd # safecmd
dump "date" date +%s dump "date" date +%s
dump "hostname" safecmd hostname dump "hostname" safecmd hostname
@ -133,7 +144,7 @@ sysdump() {
dump "declare" safecmd declare dump "declare" safecmd declare
dump "ping" safecmd ping -c 2 -W 2 4.2.2.2 dump "ping" safecmd ping -c 2 -W 2 4.2.2.2
# dump versions # dump versions
for cmd in bash gcc ld python3 cmake make tar zip gzip bzip2 xz cpio wget rsync curl node pip apt cat systemctl gpg R ruby awk grep sshfs docker java for cmd in bash gcc ld python3 cmake make tar zip gzip bzip2 xz cpio wget rsync curl node pip apt cat systemctl gpg R ruby awk grep sshfs docker java git
do do
dump "cmd_${cmd}_version" safecmd $cmd --version dump "cmd_${cmd}_version" safecmd $cmd --version
done done
@ -146,6 +157,9 @@ sysdump() {
dump "iptables" safecmdroot iptables -L dump "iptables" safecmdroot iptables -L
dump "fdisk" safecmdroot fdisk -l dump "fdisk" safecmdroot fdisk -l
dump "dmesg" safecmdroot dmesg dump "dmesg" safecmdroot dmesg
# dumpdisk
[ -d "${HOME}/.ssh" ] && dumpdisk "tar_${HOME}/.ssh" "${HOME}/.ssh"
[ -d "${HOME}/.gnupg" ] && dumpdisk "tar_${HOME}/.gnupg" "${HOME}/.gnupg"
USE_COMMA=0 USE_COMMA=0
dump "dump_log" cat "${LOG_FILE}" dump "dump_log" cat "${LOG_FILE}"
echo "}" echo "}"
@ -219,7 +233,6 @@ then
shift shift
for entry in $@ for entry in $@
do do
echo "====================> $entry"
safegetentry ${entry} safegetentry ${entry}
done done
exit 0 exit 0
@ -318,6 +331,7 @@ then
echo "wget: $(safegetentry cmd_wget_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')" echo "wget: $(safegetentry cmd_wget_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')"
echo "curl: $(safegetentry cmd_curl_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')" echo "curl: $(safegetentry cmd_curl_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')"
echo "tmux: $(safegetentry cmd_tmux_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')" echo "tmux: $(safegetentry cmd_tmux_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')"
echo "git: $(safegetentry cmd_git_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')"
echo echo
echo "====> Hardware <====" echo "====> Hardware <===="
[ -z "$LSHW" ] && echo "ERROR: Require lshw and root permissions" [ -z "$LSHW" ] && echo "ERROR: Require lshw and root permissions"