/
/
/
1#!/bin/bash
2# NAS System Information Collection Script
3# Generated by Ansible NAS role
4
5INFO_FILE="/var/log/nas-system-info.txt"
6TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
7
8{
9 echo "========================================="
10 echo "NAS System Information - $TIMESTAMP"
11 echo "========================================="
12 echo
13
14 echo "=== System Information ==="
15 uname -a
16 echo
17
18 echo "=== Memory Information ==="
19 free -h
20 echo
21
22 echo "=== Disk Information ==="
23 lsblk
24 echo
25 df -h
26 echo
27
28 {% if nas_raid_enabled | bool %}
29 echo "=== RAID Status ==="
30 cat /proc/mdstat 2>/dev/null || echo "No RAID arrays found"
31 echo
32
33 echo "=== RAID Details ==="
34 for md in /dev/md*; do
35 if [ -b "$md" ]; then
36 echo "Details for $md:"
37 mdadm --detail "$md" 2>/dev/null || true
38 echo
39 fi
40 done
41 {% endif %}
42
43 echo "=== Network Interfaces ==="
44 ip addr show
45 echo
46
47 {% if nas_network_bonding_enabled | bool %}
48 echo "=== Bond Status ==="
49 {% for bond in nas_bond_interfaces %}
50 if [ -f /proc/net/bonding/{{ bond.bond_name }} ]; then
51 echo "Bond {{ bond.bond_name }}:"
52 cat /proc/net/bonding/{{ bond.bond_name }}
53 echo
54 fi
55 {% endfor %}
56 {% endif %}
57
58 echo "=== NFS Exports ==="
59 exportfs -v 2>/dev/null || echo "NFS not configured"
60 echo
61
62 echo "=== Service Status ==="
63 {% for service in nas_services %}
64 systemctl status {{ service }} --no-pager -l
65 echo
66 {% endfor %}
67
68 echo "=== Storage Mounts ==="
69 mount | grep -E '(nfs|ext4|xfs|btrfs)'
70 echo
71
72 echo "========================================="
73 echo "Information collection completed"
74 echo "========================================="
75
76} > "$INFO_FILE"
77
78echo "System information collected in $INFO_FILE"