102 lines
2.5 KiB
Bash
102 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Menu Function
|
|
show_menu() {
|
|
echo "-------------------------"
|
|
echo " CatTools "
|
|
echo "-------------------------"
|
|
echo "1. Collect Debug Logs"
|
|
echo "0. Exit"
|
|
echo "-------------------------"
|
|
echo -n "Please enter your choice: "
|
|
}
|
|
|
|
# Log Collection Function
|
|
collect_logs() {
|
|
if [ -f /www/logs.txt ]; then
|
|
rm /www/logs.txt
|
|
fi
|
|
|
|
cat /etc/banner >> /www/logs.txt
|
|
date >> /www/logs.txt
|
|
|
|
echo "## RELEASE" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
cat /etc/catwrt_release >> /www/logs.txt
|
|
|
|
echo "## Application" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
opkg list_installed >> /www/logs.txt
|
|
|
|
echo "## SYSLOG" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
logread >> /www/logs.txt
|
|
|
|
echo "## DMESG" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
dmesg >> /www/logs.txt
|
|
|
|
echo "## Plugins" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
cat /tmp/openclash.log >> /www/logs.txt
|
|
cat /tmp/log/ssrplus.log >> /www/logs.txt
|
|
cat /tmp/log/passwall.log >> /www/logs.txt
|
|
cat /tmp/log/passwall2.log >> /www/logs.txt
|
|
|
|
echo "## Task" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
top -b -n 1 >> /www/logs.txt
|
|
|
|
echo "## Network Configuration" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
ifconfig -a >> /www/logs.txt
|
|
|
|
echo "## UCI Network" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
uci show network >> /www/logs.txt
|
|
|
|
echo "## Firewall" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
iptables -L -v -n >> /www/logs.txt
|
|
ip6tables -L -v -n >> /www/logs.txt
|
|
|
|
echo "## Routing Table" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
ip route >> /www/logs.txt
|
|
ip -6 route >> /www/logs.txt
|
|
|
|
echo "## Memory Usage" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
free -h >> /www/logs.txt
|
|
|
|
echo "## Disk Usage" >> /www/logs.txt
|
|
echo "==========" >> /www/logs.txt
|
|
df -h >> /www/logs.txt
|
|
|
|
lan_ip=$(uci get network.lan.ipaddr)
|
|
|
|
echo "日志已收集到 /www/logs.txt"
|
|
echo "使用浏览器访问下载 http://$lan_ip/logs.txt"
|
|
exit
|
|
}
|
|
|
|
# Main Loop
|
|
while true; do
|
|
show_menu
|
|
read choice
|
|
case $choice in
|
|
1)
|
|
collect_logs
|
|
;;
|
|
0)
|
|
echo "Exiting..."
|
|
break
|
|
;;
|
|
*)
|
|
echo "Invalid choice, please try again"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "Done!"
|