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 |
| users | List logged users |
| declare | Get all shell defined variables, functions etc |
| tar_\<path\> | Contains specific files/directory backup (tar archive) |
# Notes
- 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}\""
}
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() {
newdump=$(mktemp)
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 "$HOME/.bashrc" safecat $HOME/.bashrc
dump "$HOME/.bash_profile" safecat $HOME/.bash_profile
dump "$HOME/.bash_history" safecat $HOME/.bash_history
dump "/etc/fstab" safecat /etc/fstab
dump "/etc/ssh/sshd_config" safecat /etc/ssh/sshd_config
dump "/proc/cpuinfo" safecat /proc/cpuinfo
@ -96,6 +106,7 @@ sysdump() {
# safecatroot
dump "/etc/shadow" safecatroot /etc/shadow
dump "/etc/sudoers" safecatroot /etc/sudoers
dump "/boot/grub/grub.cfg" safecatroot /boot/grub/grub.cfg
# safecmd
dump "date" date +%s
dump "hostname" safecmd hostname
@ -133,7 +144,7 @@ sysdump() {
dump "declare" safecmd declare
dump "ping" safecmd ping -c 2 -W 2 4.2.2.2
# 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
dump "cmd_${cmd}_version" safecmd $cmd --version
done
@ -146,6 +157,9 @@ sysdump() {
dump "iptables" safecmdroot iptables -L
dump "fdisk" safecmdroot fdisk -l
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
dump "dump_log" cat "${LOG_FILE}"
echo "}"
@ -219,7 +233,6 @@ then
shift
for entry in $@
do
echo "====================> $entry"
safegetentry ${entry}
done
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 "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 "git: $(safegetentry cmd_git_version|wc -c|awk '{if($0>0){print("Available")}else{print("NA")}}')"
echo
echo "====> Hardware <===="
[ -z "$LSHW" ] && echo "ERROR: Require lshw and root permissions"