我有很多长时间运行的进程,我使用此命令在整个脚本的各个点向我发送短信,并在完成某些事情时通知我:
- e_jets cutflow:
cut events
1 INITIAL 13598
2 GRL 7250
3 EL_N 25000 >= 1 326
4 EL_N 25000 == 1 313
5 MU_N 25000 == 0 313
6 JETCLEAN LooseBad 313
7 JET_N 25000 >= 1 113
8 JET_N 25000 >= 2 26
9 JET_N 25000 >= 3 8
10 JET_N 25000 >= 4 2
11 MVA_BTAG MV2c20 -0.4434 2
12 VARIABLES 2
13 SAVE 2
- mu_jets cutflow:
cut events
1 INITIAL 13598
2 GRL 7250
3 MU_N 25000 >= 1 326
4 MU_N 25000 == 1 313
5 EL_N 25000 == 0 313
6 JETCLEAN LooseBad 313
7 JET_N 25000 >= 1 127
8 JET_N 25000 >= 2 47
9 JET_N 25000 >= 3 15
10 JET_N 25000 >= 4 4
11 MVA_BTAG MV2c20 -0.4434 4
12 VARIABLES 4
13 SAVE 4
我希望在消息中包含日志文件的尾部而不是这条基本消息,以便我可以看到最后几行知道它是否成功并查看结果。如果可能的话,我希望包含当前时间(或在第二条消息中)。
答案 0 :(得分:1)
步骤:
a)执行“日期”以检索当前日期
b)执行“tail -n nnn”以检索“nnn”日志文件的最后几行
c)使用“--data-binary @file”或“--data-binary @ - ”或“-F field = @ filename”执行“curl”以发布以前的信息。
您可以在curl: pass a named parameter from stdin看到类似的示例:
tail -n 20 my.log | curl -d date="$(date)" -d number="555123" -F log=@- "http://somewhere"
答案 1 :(得分:0)
我不知道你能用尾巴和烟斗做些什么,但是你可以用inotify库做些什么。
看看iwatch,它可以在修改文件时触发事件并运行脚本。
阅读本文。
http://arkanis.de/weblog/2014-02-16-iwatch-run-a-command-when-a-file-changes