前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何在 Linux 中每 X 秒运行一次命令?

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

作者头像
网络技术联盟站
发布于 2023-03-13 10:35:29
发布于 2023-03-13 10:35:29
3.2K00
代码可运行
举报
运行总次数:0
代码可运行
作为 Linux 用户,您经常需要在一段时间后重复运行某些命令,有时,您需要每小时或每隔 X 秒运行一次命令,这通常由系统管理员使用,但即使您是初学者,也可以使用它来自动执行任务、同步文件或安排更新等,有很多方法可以做到这一点,非常简单直接。

每隔几秒在 Linux 中运行命令

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

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

1. 使用 Cron 命令

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab -e

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* * * * * / directory/ command

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* * * * * echo "hello world" > /home/sid/Desktop/abc.sh

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab -u <username>

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab -l

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab -r

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

2.使用watch命令

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
watch uptime

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
watch uptime > /home/sid/Desktop/test.txt

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
watch -n 30 uptime

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

3.使用睡眠命令

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

for 循环
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for i in {1..8}; do echo -n "running the command $i time"; sleep 3; done

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

while 循环
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
while true; do echo -n "this  will run every 2 seconds" ; sleep 2; done

结论

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络技术联盟站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux crontab 每隔10秒执行一次[通俗易懂]
在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。
全栈程序员站长
2022/11/01
9K0
Crontab 的使用
大家好,又见面了,我是你们的朋友全栈君。 crontab 用于设置定时任务,通过 cat /etc/crontab 可查看 crontab 示例:
全栈程序员站长
2022/09/07
5260
linux定时运行命令脚本——crontab
Linux中,周期执行的任务一般由cron这个守护进程来处理  ps -ef | grep cron 
阳光岛主
2019/02/19
4.1K0
crontab介绍安装及每秒运行
crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
OwenZhang
2022/01/17
6880
crontab介绍安装及每秒运行
Linux系统安全 | Linux下性能监控、守护进程与计划任务管理
程序:保存在硬盘、光盘等介质中的可执行代码和数据,静态保存的代码 进程:在cpu及内存中运行的程序代码,动态执行的代码,每个进程可以有多个子进程(线程) PID : 标识进程的唯一标识 ps:静态查看系统进程 top:动态查看系统进程 pgrep:表示查看指定服务的PID 如: pgrep httpd 查看httpd服务的PID -u 表示查看指定用户的进程信息 比如:pgrep -u named httpd 第一个参数named为named用户,第二个参数表示进程名称为 httpd ,表示查看named用户的httpd进程的PID。与 ps -aux | grep httpd 同样的作用 pstree:以树状结构显示进程的关联信息 进程后台管理 Ctrl+z 前台进程调入后台,挂起,进程并没有死,只是卡在那里 Ctrl+c 结束进程 jobs 查看后台进程 fg 3 将后台第3个进程在前台运行(不加数字时,jobs程序上为‘+’的程序优先被调回) bg 2 将后台第2个进程在后台运行(不加数字时,jobs程序上为‘+’的程序优先被调回) & 直接将进程放在后台运行 kill 向进程发送信号,不加参数时,默认发送 kill 信号 。强制杀掉进程:kill -s 9 PID 这里是 -s 9 参数的作用的传递给进程的信号是9,即强制终止,结束进程 killall 杀死同一命令的所有进程 top : 反应系统进程动态信息,默认每3秒更新一次,顶部始终显示系统当前最活跃的进程,此时还可以接受用户的键盘输入向进程发送信号等待
谢公子
2022/01/13
1K0
Linux系统安全 | Linux下性能监控、守护进程与计划任务管理
Linux基础命令(3)
十二 lsof命令简介 lsof(list open files) 是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件 描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工 具能够查看这个列表对系统监测以及排错将是很有帮助的。 1.命令格式: lsof [参数][文件] 2.命令功能: 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为 lsof 需要访问核心内存和各种文件,所以需要root用户执行。 lsof打开的文件可以是: 1.普通文件 2.目录 3.网络文件系统的文件 4.字符或设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链接 8.网络文件(例如:NFS file、网络socket,unix域名socket) 9.还有其它类型的文件,等等 3.命令参数: -a 列出打开文件存在的进程 -c<进程名> 列出指定进程所打开的文件 -g  列出GID号进程详情 -d<文件号> 列出占用该文件号的进程 +d<目录>  列出目录下被打开的文件 +D<目录>  递归列出目录下被打开的文件 -n<目录>  列出使用NFS的文件 -i<条件>  列出符合条件的进程。(4、6、协议、:端口、 @ip ) -p<进程号> 列出指定进程号所打开的文件 -u  列出UID号进程详情 -h 显示帮助信息 -v 显示版本信息 4.使用实例: 实例1:无任何参数 命令: lsof 输出:     [root@localhost ~]# lsof COMMAND     PID USER   FD      TYPE             DEVICE     SIZE       NODE NAME init          1 root  cwd       DIR                8,2     4096          2 / init          1 root  rtd       DIR                8,2     4096          2 / init          1 root  txt       REG                8,2    43496    6121706 /sbin/init init          1 root  mem       REG                8,2   143600    7823908 /lib64/ld-2.5.so init          1 root  mem       REG                8,2  1722304    7823915 /lib64/libc-2.5.so init          1 root  mem       REG                8,2    23360    7823919 /lib64/libdl-2.5.so init          1 root  mem       REG                8,2    95464    7824116 /lib64/libselinux.so.1 init          1 root  mem       REG                8,2   247496    7823947 /lib64/libsepol.so.1 init          1 root   10u     FIFO               0,17                1233 /dev/initctl migration     2 root  cwd       DIR                8,2     4096          2 / migration     2 root  rtd       DIR                8,2     4096          2 / migration     2 root  txt   unknown                                        /proc/2/exe ksoftirqd     3 root  cwd       DIR                8,2     4096          2 / ksoftirqd   
py3study
2020/01/06
1.7K0
linux中20个crontab示例
要在 crontab 中添加或更新作业,请使用以下命令。它将在编辑器中打开一个 crontab 文件,可以在其中添加/更新作业。
入门笔记
2022/06/02
1.7K0
100个 Linux 命令(9)-计划任务
crond 是一个daemon 类进程,路径为/usr/sbin/crond。默认会以后台方式启动,service 或 systemd 方式启动 crond 默认也是后台方式。
懒人的小脑
2019/01/17
1.3K0
100个 Linux 命令(9)-计划任务
Linux之任务计划
用过windows的同学应该都知道在控制面板中有一个“任务计划”选项,我们可以通过向导设置让计算机在某个时间点或者开机时运行某个脚本或者批处理等等,方便我们的日常管理监视工作;同样在Linux系统中,如果我们想在开机时就运行某个操作,可以直接将命令写入/etc/rc.local中,该操作就会在机器开机时运行;如果把自己写的Bash Shell脚本的名称写在/etc/rc.local中,开机后也会执行其操作;也就是说,在Linux启动的最后阶段,系统会执行存于rc.local中的命令;类似于windows里
小小科
2018/05/02
2.6K0
Linux之任务计划
Ubuntu设置定时任务——每10秒钟执行一次命令(修改文件权限)
每隔十秒钟就执行一个命令修改文件夹的权限,这样碰巧有新的文件传上来了,根据正态分布,大概只需要等待 5 秒钟的时间就可以访问到该资源。
wsuo
2020/07/31
3.9K0
Ubuntu设置定时任务——每10秒钟执行一次命令(修改文件权限)
Linux命令之crontab
Linux系统上面有很多计划性的工作,比如在某个时间点需要执行某个动作,在Linux中,一般使用crontab命令来实现控制计划任务,通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。crontab命令是基于crond这个系统服务的,crond服务是安装Linux系统时自动安装的,它会检查当前系统中是否有要执行的任务。
AsiaYe
2019/11/06
2.4K0
Linux命令之crontab
linux添加定时任务crond
crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。 crontab –l : 显示 crontab 文件。 crontab -r : 删除 crontab 文件。 crontab -ir : 删除 crontab 文件前提醒用户。
拓荒者
2019/06/16
2.6K0
CentOS下使用crontab命令来定时执行任务
原文地址:http://www.centoscn.com/CentOS/help/2015/0424/5261.html
大道七哥
2019/09/10
2.7K0
linux crontab详解(linux如何设置定时任务)
  自己租用了一台阿里云的服务器,然后是按流量收费的,结果发现这天每个小时都有接近600m的公网流量流出,而且每个时段都一致,如果再这样下去,一年得花5k来养活这台机器。。。经过各种排查,发现主要是某个ip流出的流量过多,从阿里云管理控制台禁用该ip后,流量立马下来。 开始怀疑是我服务器被攻击,最后发现其实是我博客链接推动到百度的定时任务写错了,我想的是每天推送一次的,结果每分推送一次。。(话说我一分钟推送一次所有博文链接,百度到现在一篇都不给我收录)。 所以在这里我想介绍下linux定时任务的设置,主要是crontab命令。
xindoo
2021/01/22
9K2
Linux crontab 命令
crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
OwenZhang
2021/12/08
1.5K0
程序计划任务管理
描述:Linux工作管理指的是在单个登录终端中(shell界面)同时管理多个工作行为; 在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。
全栈工程师修炼指南
2022/09/28
3.3K0
程序计划任务管理
crontab 详细用法 定时任务
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行
用户1289394
2021/05/31
1.5K0
Linux下的crontab定时执行任务命令详解
crontab命令主要用于设置周期性被执行的指令,今天小编将给大家详细讲解Linux下的crontab定时执行任务命令,有兴趣的伙伴可以阅读文章了解!
菲宇
2019/06/12
5.6K0
Linux下的crontab定时执行任务命令详解
linux日志管理命令_shell查看日志命令
#crontab -e (会打开一个专门记录循环任务的文件,直接追加新内容就可以,这个文件一般在/tmp/crontab)
全栈程序员站长
2022/09/22
12.5K0
linux日志管理命令_shell查看日志命令
linux下添加定时任务
linux下定时执行任务的方法  在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“crontab”,是“cron table”的简写。 一、cron在3个地方查找配置文件: 1、/var/spool/cr
joshua317
2018/04/10
1.9K0
相关推荐
linux crontab 每隔10秒执行一次[通俗易懂]
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文