2014年9月23日 星期二

bash 多行註解

使用 : 指令及 header redirect 技巧

:<<REM
註解
註解
註解 
註解
REM

bash 以換行作為 IFS

IFS=$'\n';

其他應用 - 輸出多個換行
echo $'\n\n';

bash 取得路徑和檔案名

:;function fun_basename { :;echo ${1##*/};};

:;function fun_dirname { :;local _t=${1%*/*};[ $1 = $_t ] && echo "."||echo $_t;};

使用SNMP取得飛瑞UPS USHA電池剩餘時間

bash script 範例
snmpwalk -v 1 -c public 10.10.10.1 1.3.6.1.2.1.33.1.2.3

php範例
$host='10.10.10.1';

snmp_read_mib('./RFC1628cs121.MIB');
snmp_read_mib('./SW-USHA_MIB_v2.08.mib');

$a = snmpwalkoid($host, "public", "UPS-MIB::upsEstimatedMinutesRemaining");
//$a = snmpwalkoid($host, "public", "");
//$a = snmpwalk($host, "public", "USHA");

foreach ($a as $key=>$val) {    echo "$key = $val\n";  }

UPS MIB 資訊
UPS-MIB::upsBatteryStatus.0 = INTEGER: batteryNormal(2)
UPS-MIB::upsSecondsOnBattery.0 = INTEGER: 0 seconds
UPS-MIB::upsEstimatedMinutesRemaining.0 = INTEGER: 18 minutes
UPS-MIB::upsEstimatedChargeRemaining.0 = INTEGER: 100 percent
UPS-MIB::upsBatteryVoltage.0 = INTEGER: 4330 0.1 Volt DC
UPS-MIB::upsBatteryCurrent.0 = Wrong Type (should be INTEGER): NULL
UPS-MIB::upsBatteryTemperature.0 = INTEGER: 38 degrees Centigrade

2014年9月22日 星期一

使用 bash shell 取得 Linux 開機時間

/proc/stat

btime - 電腦開機的時間,以由 epoch (1970 年 1 月 1 日) 至開機時間的秒數表示。


date -d $(echo @$(cat /proc/stat |grep btime |cut -d ' ' -f 2))