デフォルトでは、サーバーからディスク領域をキャプチャし、結果をHTMLページに出力するスクリプトを実行するのに問題があります。
STORAGE=$(df -PTh | column -t | sort -n -k6n)
STDOUTの出力は優れており、フォーマットされています。変数をHTMLページにエコーすると、出力は次のように1行になります。
/dev/vx/dsk/localdg/wm7x01 vxfs 30G 21G 9.3G 70% /apps/wm7x01 /dev/mapper/vg00-vrts ext3 6.9G 4.7G 2.3G 68% /vrts_install /dev/mapper/vg00-ora11g_cli ext3 7.7G 4.1G 3.3G 57% /usr/oracle11g_cli /dev/mapper/vg00-repackage ext3 1008M 423M 586M 42% /var/spool/repackage /dev/vx/dsk/cfs_dcgnts_dg/shared vxfs 220G 91G 130G 42% /apps/shared
私も以下を試してみました。
- 引用:
echo "$STORAGE"
- ソート:
echo "{STORAGE[@]}"
残念ながら、すべての結果は同じです。
ベストアンサー1
あなたはそれにどのように反応しますか?のように
$ printf "<pre>%s</pre>\n" "$storage" >> file.html
動作する必要があります。
を含める必要はありませんcolumn
。これは、次を使用して生成できるHTMLテーブルの候補です。
df -PTh | \
sed '1d' | \
sort -n -k6 | \
awk '
{
printf "\n\t<tr>";
for (n = 1; n < 7; ++n)
printf("\n\t<td>%s</td>",$n);
printf "\n\t<td>";
for(;n <= NF; ++n)
printf("%s ",$n);
printf "</td>\n\t</tr>"
}
'
次のように梱包してください。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Disk space usage</title>
<style>
table, td, th {
border : 1px solid green;
}
th {
background-color: green;
color : white;
}
</style>
</head><body>
<table>
<tr>
<th>Filesystem</th>
<th>Type</th>
<th>Size</th>
<th>Used</th>
<th>Avail</th>
<th>Use%</th>
<th>Mounted on</th>
</tr>
<!-- df output awk table -->
</table>
</body>
</html>