View file File name : iprsos Content :#!/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