Linux 定时任务crontab实现秒级定时以及@reboot的一些问题

       Linux  定时任务crontab实现秒级定时以及@reboot的一些问题

Linux自带的crontab定时任务服务还是比较强大的,通过该服务结合脚本可以实现很多功能,实乃运维工作的一大神器。

首先明确一点,定时任务自然需要有任务,任务分为脚本任务和系统自带命令。

如果有这样一个脚本任务,仅仅需要开机后运行一次,那么,crontab结合@reboot是一个不错的选项。如果是系统自带命令任务,@reboot不一定会执行,由于系统开机初始化,很有可能系统自带命令运行环境并不满足,但crontab已经开始执行@reboot,从而造成命令运行失败。

@reboot的使用方法如下:

crontab -e -u root,这时候打开了一个文本编辑窗口,输入如下内容

@reboot /bin/bash/脚本路径和脚本名称

保存后关闭,重启机器会自动执行一次脚本。

重启后,会在/root 目录下生成一个 名为 hello.txt 的文件。建议要执行的任务最好是脚本,本例使用的是touch命令,可能别的命令就不一定会成功了。

因此,如果有一些服务没有写进systemd守护的自启进程,可以使用此方法来进行代替,比如,weblogic服务只编写有启动脚本,这个时候将该服务的启动脚本利用@reboot 就可以做成自启服务了。

秒级定时任务的实现是利用sleep 刷新时间后,会执行后续命令的方式来实现。详情见下面。

*/1 * * * * /bin/date >>/tmp/date.txt
*/1 * * * * sleep 5  ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 10 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 15 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 20 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 25 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 30 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 35 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 40 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 45 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 50 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 55 ; /bin/date >>/tmp/date.txt
*/1 * * * * sleep 25 ; /bin/date >>/tmp/date.txt



*/1 * * * * /bin/date >>/tmp/date.txt
*/1 * * * * sleep 10 ; /bin/date >>/root/date.txt
*/1 * * * * sleep 20 ; /bin/date >>/root/date.txt
*/1 * * * * sleep 30 ; /bin/date >>/root/date.txt
*/1 * * * * sleep 40 ; /bin/date >>/root/date.txt
*/1 * * * * sleep 50 ; /bin/date >>/root/date.txt

#两个任务,第一个任务是每隔五秒将当前时间写入 /tmp/date.txt,第二个任务是每隔10秒将当前时间写入
#/root/date.txt文件,tail -f /tmp/date.txt 可以实时的看到任务的执行。
#如果是别的任务,将命令根据实际情况替换即可。

### 回答1: Linux crontab是一种定时任务管理工具,可以在指定的时间自动执行一些命令或脚本。它可以帮助我们自动化一些重复性的工作,提高工作效率。通过编辑crontab文件,我们可以设置定时任务的执行时间、执行命令或脚本等参数。在Linux系统中,crontab是非常常用的工具之一。 ### 回答2: Linuxcrontab是一种用于执行定时任务的工具,可以自动化地在指定时间执行命令或脚本。下面给出一些关于crontab的基本知识: 1. crontab是一个命令,用于创建、删除和查看用户的定时任务列表。可以通过`crontab -e`命令编辑当前用户的crontab文件,通过`crontab -l`命令查看当前用户的定时任务列表,通过`crontab -r`命令删除当前用户的定时任务列表。 2. crontab文件是用户的定时任务列表,它是一个纯文本文件,存储了一系列用于定时执行的命令或脚本。每行都表示一个定时任务,可以指定任务的执行时间和要执行的命令。 3. crontab文件的格式是:`分 时 日 月 星期 命令`,其中分别表示分钟、小时、日期、月份、星期和要执行的命令。 4. 分、时、日、月、星期可以使用具体的数字表示,也可以使用特殊字符表示。特殊字符包括:`*`表示所有值,`/`表示间隔值,`-`表示范围值,`,`表示多个值。 5. crontab文件的命令部分可以是一个要执行的命令,也可以是一个要执行的脚本。脚本可以是任何可执行的文件,可以用绝对路径或相对路径指定。 6. crontab定时任务可以精确到分钟别,可以实现很多常见的定时任务,比如每天执行一次、每小时执行一次等。 7. crontab的日志文件位于`/var/log/cron`,记录了定时任务的执行情况,可以用于排查问题。 总结来说,Linuxcrontab是一个非常强大和灵活的定时任务管理工具,能够帮助用户自动化执行命令和脚本,提高工作效率。但是使用时需要注意格式和时间设置,确保定时任务能够按预期执行。 ### 回答3: Crontab是在Linux操作系统上用于定时执行任务的工具。它允许用户按照自定义的时间表来安排任务的运行,可以是每天、每周、每月或者其他特定的时间间隔。 要使用Crontab,我们可以通过命令行来编辑用户的Crontab文件。命令是`crontab -e`,这将会打开一个文本编辑器,并显示已经安排的任务列表。每一行都表示一个要运行的任务,其中包括任务的执行时间和要执行的命令。 Crontab文件中的每一行都遵循一定的格式。格式由若干个时间和命令组成,用空格或制表符分隔。时间字段被分成了五个部分,按顺序分别代表分钟、小时、日期、月份和星期。通配符\*可以用来指定所有可能的值。 例如,如果我们想要每天早上8点运行一个命令,我们可以添加一行`0 8 * * * command`到Crontab文件中。这将会在每天的8点整执行所指定的命令。我们还可以使用逗号来指定多个值,比如`0 8,12 * * * command`表示每天的8点和12点都会执行命令。 除了指定具体的时间外,我们还可以使用特殊的字符串来表示一些常用的时间间隔。比如`@reboot`表示在系统启动时运行任务,`@daily`表示在每天的午夜运行,`@weekly`表示在每周的周日午夜运行,`@monthly`表示在每月的第一天午夜运行等等。 总的来说,Crontab是一个非常强大和灵活的工具,可以帮助我们自动化很多重复性的任务,提高工作效率。通过简单地编辑Crontab文件,我们可以安排任务在特定的时间点自动运行,无需人工的干预。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风_END

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值