哈喽大家好!我是波哥! 最近做了一个简约版互联网行业新闻小程序. 有兴趣的可以点击下方链接或者微信搜索: IT路边社
来源:网络技术联盟站
链接:https://www.wljslmz.cn/1368.html
作为 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 秒或每小时运行一次脚本,一切都可以使用这三种方法完成。




