每 x 分钟运行一次 bash 函数

Cyb*_*tar 1 bash scripts

我有一个 bash 脚本,其中包含一个名为创建的函数,speedtest如下所示:

function speedtest
    {
            echo $time_min; 
            echo $(date +%R),"$(speedtest-cli --csv)" >>temp.csv # Outputs van datum en speedtest in temp.csv
            cut -d, -f1,8 < temp.csv >> output2.csv; # Verwijderd onnodige info uit temp en plaatst het in output.csv
            awk -F , -v OFS=, '$3/=1000000' <output2 >output2.csv # Zet bits/s om naar Mbp/s
            rm temp.csv;
    }
Run Code Online (Sandbox Code Playgroud)

我想运行这个函数正好 x 分钟。请注意,该函数需要一些时间才能运行。如果我每 x 分钟运行一次,这与运行它、休眠 x 分钟然后再次运行它是不同的。我想每隔 x 分钟启动该功能。

jan*_*nos 5

看来你不被允许使用 cron。在这种情况下,您可以使用无限循环在后台调用此函数,然后休眠x几分钟:

while true; do speedtest & sleep 60; done
Run Code Online (Sandbox Code Playgroud)

只需确保睡眠时间足够长,以便当前speedtest调用在睡眠结束之前终止,以避免并行运行进程的多个实例。

如果您不想在运行时保持终端打开,您可以在screentmux会话中执行此操作。