作为Linux系统管理员通常需要在特定时间段内重复运行某些命令。就类似一个定时任务在定时执行某一个操作,下面就来看一下如何在一定周期之内执行相应的命令或者脚本,啥意思呢?举个例子就比如每隔10秒执行一个命令,这该如何做呢?下面就来看一下如何实现吧。
1,使用crontab命令
crontab 命令用于维护 crontab 文件或 cron 表。cron 表包含要在系统上定期运行的命令列表。每个用户都可以有一个 crontab,我们可以在其中创建和修改任务。但是,Cron只能用于一分钟的最小间隔,即如果要间隔10秒运行一次命令,则需要创建60s/10s =6 个cron条目,如果是每隔20秒则创建3个cron条目,每隔30秒则创建2个cron条目。下面是cron表的解释
定时任务执行解释 | 命令 |
运行cron job 每分钟 | * * * * * /root/backup.sh |
运行cron job 每30分钟 | 30 * * * * /root/backup.sh |
运行cron job 每小时 | 0 * * * * /root/backup.sh |
运行cron job 每天深夜0点 | 0 0 * * * /root/backup.sh |
运行cron job 每天早上2点 | 0 2 * * * /root/backup.sh |
运行cron job 每个月1号 | 0 0 1 * * /root/backup.sh |
运行cron job 每个月15号 | 0 0 15 * * /root/backup.sh |
运行cron job 在12月1号深夜0点 | 0 0 0 12 * /root/backup.sh |
运行cron job 每周六深夜0点 | 0 0 * * 6 /root/backup.sh |
通过上图可以看出,命令每隔10s钟执行一次,命令主要是打印出当前的时间重定向到一个文件中。所以打印的文件的值是每隔10s写入一次。
2,使用watch命令
Watch命令允许您定期执行命令或程序,还可以在屏幕上显示输出。这意味着您将能够及时看到程序输出。默认情况下,Watch每隔 2 秒重新运行一次命令/程序。可以很容易地更改间隔以满足定期重复执行命令或者脚本的需求。
通过上图可以看出通过watch命令也可以实现间隔10秒执行相同的命令。watch命令还可以用于监视内存,以及监视磁盘拷贝等。
3,使用sleep命令
sleep 命令还可以与 while 循环或 for 循环等循环一起使用,以重复或定期运行命令。打开终端并使用 for 循环,执行以下命令:
那使用for循环如何实现上面两个例子,把日期输入到一个文本中呢?
下面来通过while循环实现每隔10s重复执行命令。
总结:本文主要讲解了如何在Linux终端中定期或重复运行命令。从运行命令到每 隔几秒或每小时运行一次脚本,通过小编亲自实践,所有操作都可以使用这三种方法完成。具体场景中请把后面执行的命令换成实际的命令或者脚本即可。