Linux中的定时任务at、crontab
来源:互联网 发布:php 获取1688商品 编辑:程序博客网 时间:2024/05/22 04:49
at
at
命令可以用来在某一时段执行一次任务,只会执行一次,不会重复执行。
at命令是由atd服务来控制的,使用之前先查看atd服务是否正常:
$ /etc/init.d/atd status* atd is running
如果没有的话就需要安装:
$ sudo apt-get install at$ /etc/init.d/atd start
at
命令的基本语法:
at [options] TIME
常用的options:
- -m:当at工作完成之后,用email通知用户任务已经执行完成
- -l:列出目前所有的任务
- -d:取消一个任务
TIME是时间,常用的格式:
HH:MM
:在今天的某时某刻开始执行任务,如果时间已过,则延迟到明天的这个时间开始。HH:MM YYYY-MM-DD
:在具体的某年某月某天执行。HH:MM[am|pm] [Month] [Date]
HH:MM[am|pm] + number [minutes|hours|days|weeks]
:在某个时间点再加上时间后执行,ex:now + 1 minutes
一个例子:
创建一个任务,1分钟后输入hello world到/tmp/t1文件
$ at now + 1 minutesat> echo "hello world" > /tmp/t1at> <EOT> # 输入完成后按Ctrl + d保存
可以使用at -l
或者atq
来查看刚才创建的任务:
$ atq3 Fri Aug 11 22:41:00 2017 a jby
3是任务序号,如果创建错了任务就可以使用这个数字来删除:
$ atrm 3
权限
可以用过配置文件来设置哪些用户能使用at命令,哪些用户不能使用:
- at命令会先查找
/etc/at.allow
文件,如果这个文件存在,那么只有在这个文件里面的用户才能使用at命令。 - 如果不存在,那么就会查找
/etc/at.deny
文件,如果文件存在,那么不在这个文件里面的用户才可以使用at命令。 - 如果2个文件都不存在,那么只有root才能使用at命令
2个文件的内容格式都是一行一个用户名
batch
batch命令的用法跟at一样,只不过batch添加的任务会在CPU负载小于0.8的时候才执行,如果到了执行时间点CPU负载过高就会延缓执行。
crontab
crontab
命令是用来一直循环执行某个任务。
基本语法:
crontab [-u user] [-l-e-r]
- -u:只有root才能使用,用来帮其他的用户创建或者删除任务。
- -e:编辑任务
- -l:查看当前的任务
- -r:删除所有的任务
一个列子:
输入crontab -e
进入编辑模式,输入5 * * * * echo "hello >> /tmp/t1"
,然后保存退出(不需要重新启动cron服务,会自动每分钟重新读取任务内容)。
任务的格式为:
分 时 日 月 周 命令
前面5个字段是时间,他们之间用空格隔开。表示的就是再某一个时间点执行任务,取值范围就是正常的时间取值范围(比如:分钟是0-59,时是0-23),周的取值是0-7表示星期一到星期天,o跟7都是星期天
例子:
- 5 * * * * 每个小时的5分执行任务
- 10 3 * * * 每天的3点10分执行任务
- 10 3 2 * * 每个月2号的3点10分执行任务
一些特殊的取值:
- *:表示任何时刻
- ,:英文逗号表示and的意思,比如 10 3,6 * * * 每天的3点10分跟6点10分都执行任务
- -:减号表示的范围,比如:10 3-6 * * * 每天的3点到6点之间的每个小时的10分都执行任务
- /n:表示的是单位间隔,比如 /1 * * * 每隔1分钟执行一次任务
权限
cron服务也有两个文件/etc/cron.allow
、/etc/cron.deny
来控制用户的使用权限,逻辑都at
一样
阅读全文
0 0
- Linux中的定时任务:at 和 crontab
- Linux中的定时任务at、crontab
- Linux中的定时任务at、crontab
- linux 定时任务: at & crontab
- linux定时任务at,batch和crontab
- Linux中的定时任务crontab
- linux中的crontab定时任务
- Linux 中的定时任务crontab
- Linux中的crontab定时任务详解
- linux中的定时任务crontab认识
- Linux定时执行任务命令概述:at和crontab
- Linux定时执行任务命令概述:at和crontab
- linux定时执行任务方法at命令及crontab服务
- linux命令-- Unix crontab at 定时任务命令 .
- 【转载】Linux定时执行任务命令概述:at和crontab
- Linux定时执行任务命令概述:at和crontab
- Linux 下的定时任务实现 at 和 crontab
- Linux定时执行任务命令:at和crontab
- html学习14-网页联系-超链接-书签链接
- Echo服务
- Spring 4.3.10集成Redis Cluster
- roslib package
- 【matlab 图像处理】MATLAB中图像处理的函数
- Linux中的定时任务at、crontab
- maven 一键上传 jar 包到私服(命令行)
- Mysql聚合函数的使用
- 算法题/数字在排序数组中出现的次数
- 关于unity在android层访问WebView的一点心得
- SIFT特征提取算法
- 【Log历练手册】Lomok StackOverflowError
- poj 2251
- iOS-去掉定位地址中不准确的楼层信息