linux的工作调度方式分为两种:
一种是例行性的,就是每隔一定的周期要来办的事项;
一种是突发性的,就是这次做完以后就没有的那一种。
这两种功能的实现需要使用at与crontab这两个命令:
at:是个可以处理仅执行一次就结束调度的命令;要执行at时,必须要有atd这个服务的支持。
crontab:这个命令所设置的工作将会循环一直进行下去。可循环的时间有分钟、小时、天、周等。
首先安装at这个包:
第一部分:仅执行一次的的工作调度
启动atd服务:service atd start
我们可以利用/etc/at.allow与/etc/at.deny这两个文件来进行at的使用限制。
先寻找/etc/at.allow这个文件,写在这个文件中的用户才能使用at,没有在这个文件中的用户则不能使用at
如果/etc/at.allow不存在,就寻找/etc/at.deny这个文件,若写在这个at.deny的用户则不能使用at,而没有在这个at.deny文件中的用户可以使用at了
如果两个文件都不存在,那么只有root可以使用at这个命令。
at基本的语法:
at [-mldv] TIME
-m:当at的工作完成后,即使没有输出信息,以email通知用户该工作已完成
-l:相当于atq,列出目前系统上面的所有用户的at调度
-d:相当于atrm,可以取消一个在at调度中的工作
-v:可以使用较明显的时间格式列出at调度中的任务列表
-c:可以列出后面接的该项工作的实际命令内容
TIME:时间格式
HH:MM 在今天的HH:MM时刻进行,若已超过该时刻,则明天的HH:MM进行此工作
HH:MM YY-MM-DD 强制规定在某年某月的某一天的特殊时刻进行该工作
HH:MM [am|pm] +number [minutes | hours | days | weeks] 在某个时间点“再加多长时间后”才执行
eg:at now + 5 minutes //一定要加s
第二部分:循环执行的例行性工作调度
循环执行的例行性工作调度是有cron这个系统服务来控制的。
/etc/cron.allow 将可以使用的crontab的账号写入其中,如不存在这个文件内的用户则不可以用crontab
/etc/cron.deny 将不可以使用的crontab的账号写入其中,若未记录到这个文件当中的用户,就可以使用crontab
crontab语法:
crontab [-u username] [-l | -e | -r]
-u 只有root才能进行这个任务,也即帮其它用户新建/删除crontab工作调度
-e 编辑crontab的工作内容
-l 查阅crontab的工作内容
-r 删除所有的crontab的工作内容,若仅删除一项,用-e去编辑
阅读(1878) | 评论(0) | 转发(0) |