怎么在linux系统里设置延时/定时任务?
Posted Tuki_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在linux系统里设置延时/定时任务?相关的知识,希望对你有一定的参考价值。
在linux系统里设置延时/定时任务
使用at命令设置延时任务
-
用法
at 19:50
##设置定时任务,ctrl+d
任务写入完成!
at now+1min
##任务执行时间为现在起过一分钟
at -l
##查看任务列表
at -c 任务号
##查看任务内容
at -r 任务号
##取消任务执行
-
设置黑白名单
/etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at /etc/at.allow ##系统中默认不存在,创建文件后,除了名单内的和root用户都不能执行at,并且/etc/at.deny失效
编辑黑名单,将普通用户lucky写进去
添加进去后lucky不能设置任务了
添加进白名单后,黑名单失效
使用crontab命令设置定时任务
可以先man 5 crontab
查看格式
- crontab 时间表示方式
从左到右依次是: 分钟 小时 天 月 周 在表示周时0和7都是周日 /2表示每隔两分钟 * * * * * *表示任意,全*表示每分钟(整分过一秒)执行一次 */2 * * * * 每两分钟执行一次 */2 09-17 * * * 早7点到晚5点每两分钟执行一次 */2 */2 * * * 每隔2小时每两分钟执行一次 */2 09-17 3,5 1 5 1月的3号和5号以及1月的每个周五的早上9点到下午5点每隔2min执行一次 */2 09-17 * * 5 每周周五早9晚5执行一次
- 用法
首先要保证crond服务是开启的:
执行systemctl start crond.service
开启
crontab -u 用户 -e ##root用户添加的定时任务
crontab -u 用户 -l ##查看root用户设置的定时任务
crontab -u 用户 -r ##取消root用户设置的定时任务
##任务文件保存在var/spool/cron/username
- 设置黑白名单
和at的用法一样!/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行cron /etc/cron.allow ##系统中默认不存在,创建文件后,除了名单内的和root用户都不能执行cron,并且/etc/cron.deny失效 这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
- 系统级别的cron(文件方式设定定时任务)
这个要root用户才可以 vim /etc/cron.d/file(这个file是root创建的) 格式: ***** username action 举例: ***** root rm -fr /mnt/*
在文件内写入你想定时的任务即可
以上是关于怎么在linux系统里设置延时/定时任务?的主要内容,如果未能解决你的问题,请参考以下文章