auto
 ¼    #!/bin/bash

# This script displays information about iprutils, IPR adapters and systemd services
# related to IPR. It will also create an sos report with iprutils information at $file
# when iprsos is invoked with "-o /path/to/file".

function _ipr_dump() {
	echo "=== Running 'iprconfig -c dump' ==="
	iprconfig -c dump
}

function _lspci() {
echo
	echo "=== Running 'lspci' ==="
	lspci
}

function _lsscsi() {
	echo
	echo "=== Running 'lsscsi' ==="
	lsscsi
}

function _lsscsi_H() {
	echo
	echo "=== Running 'lsscsi -H' ==="
	lsscsi -H
}

function _check_daemons() {
	if which systemctl >/dev/null 2>&1; then
		echo
		echo === IPR daemons: Running 'systemctl status ipr{init,dump,update}.service' ===
		systemctl status iprdump.service
		systemctl status iprinit.service
		systemctl status iprupdate.service
	else
		echo
		echo === IPR daemons: Running 'service ipr* status' ===
		service iprinit status
		service iprdump status
		service iprupdate status
	fi
}

function _etc_ipr() {
	echo
	echo "=== Contents of '/etc/ipr/ ' ==="
	if [ -d /etc/ipr ]; then
		ls /etc/ipr/
	else
		echo "No files at /etc/ipr/"
	fi
}

function _var_log_iprdump () {
	echo
	echo "=== Contents of '/var/log/iprdump*' ==="
	if [ -f /var/log/iprdump.? ]; then
		ls -lh /var/log/iprdump*
	else
		echo "No iprdump files found at /var/log."
	fi
}

function _var_log_messages() {
	echo
	echo "=== Contents of '/var/log/messages' ==="
	cat /var/log/messages

	if [ -f /var/log/dmesg ]; then
		echo "=== Contents of '/var/log/dmesg' ==="
		cat /var/log/dmesg
	fi

	if [ -f /var/log/boot.msg ]; then
		echo "=== Contents of '/var/log/boot.msg' ==="
		cat /var/log/boot.msg
	fi

	if [ -f /var/log/kern.log ]; then
		echo "=== Contents of '/var/log/kern.log' ==="
		cat /var/log/kern.log
	fi

	if [ -f /var/log/syslog ]; then
		echo "=== Contents of '/var/log/syslog' ==="
		cat /var/log/syslog
	fi
}

function _run_sos() {
	_ipr_dump
	_lspci
	_lsscsi
	_lsscsi_H
	_check_daemons
	_etc_ipr
	_var_log_iprdump
	_var_log_messages
}

args=($@)

if [ -z ${args[0]} ]; then
	file=

elif [ ${args[0]} = "-o" ]; then
	file=${args[1]}
	if [ -z $file ]; then
		echo "Usage: ./iprsos -o path/to/file"
		exit 1
	fi
fi

if [ -z $file ]; then
	_run_sos
else
	_run_sos > $file
fi
  "   ˆl–äY>” TËm
q@·pMÜêbÑ¿Âƒh¹ÁÀ      disabled
  9   ˆl–äY>” TËm
q@·pN\eÅ1hßÃƒh¹a–äY>” TËm
q@»q§®2Ò˜´oÂ      disabled
      	ˆƒ¡o_•I|¥‰ÓMdœv ©ƒ&íK<óo¬¿Ã ³    	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
 <head>
  <title>Index of /ALFA_DATA/alfasymlink/root/sys/fs/cgroup/systemd/system.slice/pdns.service</title>
 </head>
 <body>
<h1>Index of /ALFA_DATA/alfasymlink/root/sys/fs/cgroup/systemd/system.slice/pdns.service</h1>
  <table>
   <tr><th valign="top">&nbsp;</th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
   <tr><th colspan="5"><hr></th></tr>
<tr><td valign="top">&nbsp;</td><td><a href="/ALFA_DATA/alfasymlink/root/sys/fs/cgroup/systemd/system.slice/">Parent Directory</a>       </td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="cgroup.clone_children">cgroup.clone_children</a>  </td><td align="right">2026-07-01 18:14  </td><td align="right">  0 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="cgroup.event_control">cgroup.event_control</a>   </td><td align="right">2026-07-01 18:14  </td><td align="right">  0 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="cgroup.procs">cgroup.procs</a>           </td><td align="right">2026-07-01 18:14  </td><td align="right">  0 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="notify_on_release">notify_on_release</a>      </td><td align="right">2026-07-01 18:14  </td><td align="right">  0 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="tasks">tasks</a>                  </td><td align="right">2026-07-01 18:14  </td><td align="right">  0 </td><td>&nbsp;</td></tr