在linux中可以使用crond
创建周期任务,使用at
创建一次性任务.
单一时刻执行任务:at
例如下面的命令,在一分钟后输出一个文件在用户的家目录下:
at now + 30 minues
echo 'hello world' > ~/1.txt
<EOT>
创建完命令之后,可以通过atq
命令来查询有哪些任务,例如:
10 Mon Jul 29 22:53:00 2019 a root
第一个10代表任务的id;中间的时间代表什么时候执行;a代表队列名称,队列可以通过a-z表示,同时还可以在创建队列还查询时,使用-q
参数指定;root代表谁创建的.
还可以使用atrm 任务编号
删除任务.
如果想禁止某个用户使用at命令,可以在/etc/at.deny添加该用户的用户名.
周期性执行任务:crond
在使用之前需要先确认crond服务是否已经启动.通过service crond status
查看服务是否启动.然后根据情况启动服务.
service crond status 查看服务状态
service crond stop 暂停
service crond start 启动
service crond restart 重新启动服务
service crond reload 重新加载配置
- 编辑任务:
crontab -e
.通过该命令,将进入编辑任务.任务的主要内容为* * * * * command
.第一个*
代表分钟(1-59),第二个*
代表小时(0-23),第三个*
代表日(1-31),第四个*
代表月(1-12),第五个*
代表星期(0-6).command
代表要执行的任务.
例如下面,每分钟往1.txt文件追加一句话:
*/1 * * * * echo 'hello world' >> ~/1.txt
-
查看任务:
crontab -l
. -
删除所有任务:
crontab -r
-
还可以通过添加
-u
操作指定用户的任务.需要root用户权限.
同at
一样,可以通过编辑/etc/cron.deny
禁止用户使用该功能.
还可以通过/etc/condtabs
来定义任务.
网友评论