(我通过使用 Google 表单和一个简单的 curl 命令找到了一个完美的解决方案,如果有人需要的话,我把它写出来作为答案)
我执行一个包含数千条命令的长 .sh 脚本,一旦发生断电,我需要大量时间来确定最后执行的命令,以便恢复工作。首先,我需要一个创造性的解决方案,确定日志的最佳存储位置(本地、网络、谷歌电子表格),其次,我将在脚本的战略行中放置一个命令,该命令的唯一目的是在日志中创建描述性输出,即如果我看到1-SVK在日志中,我将能够在一分钟内恢复工作。
那么,首先,存储此类日志(非敏感数据)的最佳位置是什么?我应该使用什么命令?只应记录该命令最近执行的输出,我将适当修改该命令并将其放在脚本中的每个战略行上,以便它在日志中提供正确的输出(例如:1-SVK、2-SVK)。
Bash 脚本中的代码应如下所示:
[command that will print 1-SVK somewhere]
curl command 1
curl command 2
curl command 3
[command that will print 2-SVK somewhere]
curl command 4
curl command 5
curl command 6
...
提前感谢您的宝贵建议
答案1
有很多方法可以解决这个问题,最好的解决方案取决于具体情况的细节。但是,一些一般建议是使用“tee”之类的命令将脚本的输出发送到 stdout 和日志文件。这样,即使断电,您也会有脚本输出的记录。另一个选择是使用“screen”或“tmux”之类的工具让脚本在后台运行,即使终端关闭。这样,即使断电,您也可以重新连接到脚本并查看最后几行输出。
答案2
这是我刚刚找到的一个完美的解决方案,我对此非常满意,我对它进行了测试并且效果很好。
https://johnmu.com/using-curl-to-add-rows-to-google/
保留我的问题以便将来能对某人有所帮助。
curl 'https://docs.google.com/forms/u/0/d/e/[ID_OF_YOUR_FORM]/formResponse' --data 'entry.[NUMERICAL_ID_OF_THE_ENTRY]=[THE_TEXT_YOU_WANT_TO_SEE_AS_AN_ANSWER_IN_THE_FORM]' --silent >/dev/null