如何使用脚本的结束时间并在再次运行同一脚本时将其用作开始时间?

如何使用脚本的结束时间并在再次运行同一脚本时将其用作开始时间?

如何将第二次运行和以后运行的停止时间指定为开始时间?

$start = currenttime;
while true;
./run_test.sh -input_param=$start
stop=$(date +%Y%m%d%H%M%S --date "2018-03-12 01:45:55");
sleep 10;
done

答案1

您可以将日期存储到内存中,例如存储到临时文件系统文件系统类似(/dev/shm/lastexec.tmp)或像这样进入磁盘(/tmp/lastexec.tmp)

最好将日期存储到磁盘上的临时文件中,因为内存存储是易失性的:

start="$(cat /tmp/lastexec.tmp)"
while true
do
./run_test.sh -input_param=$start
date +%Y%m%d%H%M%S --date "2018-03-12 01:45:55" > /tmp/lastexec.tmp
sleep 10
done

但是使用 时date +%Y%m%d%H%M%S --date "2018-03-12 01:45:55",日期在下一次脚本运行期间不会更改,因为您已经修复了它。输出仍然相同20180312014555

相关内容