cron 命令不能用于每隔 X 秒运行一次命令,并且使用循环并不精确,watch 命令很容易使用。
在本文中,我们将详细讨论这三种方法。
每个用户都可以有一个 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 作业很容易,但它只以至少一分钟的间隔运行命令。
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 命令的更多信息,您可以参考手册页或通过此链接。
sleep 命令也可以与 while 循环或 for 循环等循环一起使用,以重复或定期运行命令。打开终端并使用 for 循环,执行以下命令:
for i in {1..8}; do echo -n "running the command $i time"; sleep 3; done
上述命令将以 3 秒的时间间隔显示 8 次输出。您也可以使用 while 循环代替 for 循环,如下所示。
while true; do echo -n "this will run every 2 seconds" ; sleep 2; done
本文主要介绍了如何定期或重复地在 Linux 终端中运行命令,从运行命令到每隔 X 秒或每小时运行一次脚本,一切都可以使用这三种方法完成。