zl程序教程

您现在的位置是:首页 >  系统

当前栏目

如何在 Linux 中每 X 秒运行一次命令?

Linux命令 如何 运行 一次
2023-06-13 09:17:25 时间
作为 Linux 用户,您经常需要在一段时间后重复运行某些命令,有时,您需要每小时或每隔 X 秒运行一次命令,这通常由系统管理员使用,但即使您是初学者,也可以使用它来自动执行任务、同步文件或安排更新等,有很多方法可以做到这一点,非常简单直接。

每隔几秒在 Linux 中运行命令

cron 命令不能用于每隔 X 秒运行一次命令,并且使用循环并不精确,watch 命令很容易使用。

在本文中,我们将详细讨论这三种方法。

1. 使用 Cron 命令

每个用户都可以有一个 crontab,我们可以在其中创建和修改任务,但是,Cron 只能用于一分钟的最小间隔,即如果您想每 X 秒运行一次命令,则不能使用 Cron。

按Ctrl+Alt+T打开终端。输入以下命令以打开当前用户的配置文件:

crontab -e

添加以下格式的任务条目:

* * * * * / directory/ command

其中前五个点代表时间,即分钟、小时、月份中的某天、月份和星期几。例如:

* * * * * echo "hello world" > /home/sid/Desktop/abc.sh

要为其他用户编辑 crontab,请输入以下命令:

crontab -u <username>

要列出计划的作业,请输入以下命令:

crontab -l

要删除 crontab,请输入以下命令:

crontab -r

因此,设置 cron 作业很容易,但它只以至少一分钟的间隔运行命令。

2.使用watch命令

watch 命令可用于从每两秒到每天、每月或每年重复一次命令。Watch 命令在终端中显示输出,直到我们通过按 Ctrl+Alt+T 或重新启动系统手动停止它。要使用 watch 命令,请打开终端并输入以下命令:

watch uptime

默认情况下,输出显示在终端中。要将输出保存在文本文件中,请输入以下命令:

watch uptime > /home/sid/Desktop/test.txt

输出将保存在纺织品 test.txt 中,直到您手动停止它。

默认情况下,它每 2 秒显示一次输出。要设置不同的时间间隔,请输入以下命令:

watch -n 30 uptime

这将以 30 秒的间隔运行 uptime 命令。要了解有关 watch 命令的更多信息,您可以参考手册页或通过此链接。

3.使用睡眠命令

sleep 命令也可以与 while 循环或 for 循环等循环一起使用,以重复或定期运行命令。打开终端并使用 for 循环,执行以下命令:

for 循环
for i in {1..8}; do echo -n "running the command $i time"; sleep 3; done

上述命令将以 3 秒的时间间隔显示 8 次输出。您也可以使用 while 循环代替 for 循环,如下所示。

while 循环
while true; do echo -n "this  will run every 2 seconds" ; sleep 2; done

结论

本文主要介绍了如何定期或重复地在 Linux 终端中运行命令,从运行命令到每隔 X 秒或每小时运行一次脚本,一切都可以使用这三种方法完成。