利用Linux命令实现时间间隔(linux命令间隔)
随着时间的溜走,每天要完成的工作量会随之增加,合理安排完成每项工作所需的时间间隔往往是合理利用时间的重要方式。说到时间间隔,Linux 系 统上或多或少已经提供了一些方便的实现手段,本文就来介绍一下。
首先,咱们通过 sleep 命令来实现一段时间间隔:
sleep 5s
这样,系统就会休眠5秒,然后再向下执行。
其次,可以利用 while 和 sleep 配合来实现每分钟的任务:
#!/bin/bash
while :do
# Do something sleep 60
done
在这个例子中,每循环一次就会休眠 60 秒,也就是每分钟就会执行一次脚本里的命令行。
再者,利用 crontab 定时任务来实现各种时间节点的任务:
59 23 * * * echo "Daily Reminder" | mutt -s "Daily Reminder" someone@example.com
例子里的 crontab 脚本,就是每天 23 点 59 分提醒某人收取一个每日邮件。由于 crontab 的多态性,可以按照日、时、分、星期设置定时任务,也可以设置具体到每月的某几天。这时,不管繁忙的日子如何,这项任务的实现都不会受到影响,甚至可以执行多个 crontab 任务。
再者,可以利用 watch 命令来反复执行一个程序:
watch [command]
例如 watch free -h 就能每隔2秒,打印出内存使用情况。
最后,当然还有各种 shell 脚本,利用 while 和 sleep 就可以拼出很多用来实现时间间隔的脚本:
#!/bin/bash
while :do
echo "[ $(date '+%Y-%m-%d %H:%M:%S') ] Shell is running..." sleep 1m
done
这个脚本,每隔 1 分钟就会打印一个时间来提醒大家 shell 脚本还在运行当中。
总的来说,Linux 系统里的 sleep、while 和 crontab 都可以实现时间间隔的效果,根据实际需要,选择合适的方法和技术,就可以实现挂起和反复执行的多种操作效果。