SHELL写个脚本,以达到每隔2小时对数据进行导出备份~~同时对24小时后的数据进行汇总的脚本~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SHELL写个脚本,以达到每隔2小时对数据进行导出备份~~同时对24小时后的数据进行汇总的脚本~相关的知识,希望对你有一定的参考价值。

参考技术A 先写一个文件,比如叫abc:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每两个小时
0 */2 * * * ls

ls只是一个例子,假如你想要执行的备份数据的命令即可,然后在root权限下:
#crontab file abc
即可

编写 shell 脚本以提取日志文件的最后 24 小时:Raspbian on Pi

【中文标题】编写 shell 脚本以提取日志文件的最后 24 小时:Raspbian on Pi【英文标题】:Writing shell script to extract last 24hrs of a log file: Raspbian on Pi 【发布时间】:2021-12-08 18:37:04 【问题描述】:

日志文件具有以下日期格式,我希望 grep 可以提取最后 24 小时。我设法通过grep "22/10/2021" test.txt 获取了今天的数据,但想设置 crontab 以每天执行一个脚本,该脚本只需从日志文件中选择最后 24 小时并将其放入 test.txt 文件中。

[22/10/2021, 3:12:57 pm] [Kitchen ] Received MQTT: zigbee2mqtt/0x84 
[22/10/2021, 3:13:35 pm] [Son17] Received MQTT: zigbee2mqtt/0x00 
[22/10/2021, 3:13:42 pm] [Entrance ] Received MQTT: zigbee2mqtt/0x8

【问题讨论】:

【参考方案1】:

这不是 grep 的工作,而是 awk 的工作(在这种情况下需要 GNU date 的协助):

awk -v tgt="$(date +'%F %T' --date='-24 hours')" -F'[][, /:]+' '
    
        hr = $5 + ($8=="pm" && $5<12 ? 12 : 0)
        cur = sprintf("%4d-%02d-%02d %02d:%02d:%02d",$4,$3,$2,hr,$6,$7)
    
    cur > tgt
' file

添加:

print tgt, cur, $0

如果您不确定发生了什么,请转到脚本,这应该很明显。

【讨论】:

以上是关于SHELL写个脚本,以达到每隔2小时对数据进行导出备份~~同时对24小时后的数据进行汇总的脚本~的主要内容,如果未能解决你的问题,请参考以下文章

如何写个linux shell脚本自动重启系统

怎么shell对Excel进入读写数据

怎么样写一个脚本去实现总是每隔一定时间去点击网页上的某个表单控件

闲来无事写个shell脚本可以快速生成shell脚本文件进行编辑,从此省心了

shell脚本取重复数据的最后一条记录

编写 shell 脚本以提取日志文件的最后 24 小时:Raspbian on Pi