求个脚本

2020-09-09 08:49:52 +08:00
 nbweb
debian 下面挂了两个硬盘,分别是 sdb 和 sdc,想在固定的时间获取硬盘的温度,自己写了个脚本,把每次温度写入 txt 文本,但是这个方式不方便查看,我想改成 html 的方式,直接打开网页。

脚本如下
#!/bin/bash

# check HDD temperature

sdb=$(smartctl -a /dev/sdb | grep 'Temperature' | awk '{print $10}')
sdc=$(smartctl -a /dev/sdc | grep 'Temperature' | awk '{print $10}')

Time=$(date '+%Y-%m-%d %H:%M:%S')

echo $Time /dev/sdb ${sdb} /dev/sdc ${sdc} >> /root/hdd_status.txt

输出到 txt 是以下格式:
2020-09-08 02:00:01 /dev/sdb 43 /dev/sdc 45
2020-09-08 14:00:01 /dev/sdb 43 /dev/sdc 45

想要的 html 的格式如下:

时间 02:00 14:00
sdb sdc sdb sdc
2020-9-9 02:00 40 41 44 45

每天定时写入两次,分别是 2 点和 14 点。
求教各位 shell 高手,不胜感激!
13468 次点击
所在节点    问与答
8 条回复
barrysn
2020-09-09 09:02:07 +08:00
命令的执行结果你已经得到了
没明白是不会设置计划任务还是不会写 html
nbweb
2020-09-09 09:05:50 +08:00
@barrysn 不会把这个结果写到 html 里面。

https://i.loli.net/2020/09/09/vugTWeC4Fym7MUB.png
oneisall8955
2020-09-09 09:22:40 +08:00
可以使用 HTML 模板,替换关键字?
oneisall8955
2020-09-09 09:23:23 +08:00
@oneisall8955 sed 命令好像
limuyan44
2020-09-09 10:01:42 +08:00
echo "<html><head><body>$Time /dev/sdb ${sdb} /dev/sdc ${sdc} </body><head><html>" >> /root/hdd_status.html

你可能想复杂了吧。
wnpllrzodiac
2020-09-09 17:51:57 +08:00
挺简单,我做就是 python 写数据库。php 读数据库输出动态页面
barrysn
2020-09-10 08:32:21 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>

<table border="1" cellspacing="0">
<tr> <th>时间</th> <th>磁盘</th> <th>温度</th> </tr>

<tr><td rowspan="2">2020-9-9 02:00</td> <td>sdb</td> <td>35</td> </tr>
<tr> <td>sdc</td> <td>36</td> </tr>

<tr> <td rowspan="2">2020-9-9 14:00</td> <td>sdb</td> <td>35</td> </tr>
<tr> <td>sdc</td> <td>36</td> </tr>


</table>

</body>
</html>


@nbweb
代码如上,每次在 table 中加 tr 就可以,样式自己调,不会的话去看看如何使用搜索引擎,
nbweb
2020-09-10 15:21:54 +08:00
@barrysn 感谢!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/705365

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX