概述
linux下实现计划任务常见的有两种:at和crontab。这种两种最大的区别在于at是一次性完成任务,而crontab是循环完成任务的; 它们都是系统内置的操作命令。
第一部分:crontab使用
相关文件:
/etc/cron.deny默认不存在,可以自己创建。把用户加进文件里面,这个文件就没有制定计划任务的权限
/etc/cron.allow默认也不存在,不够默认情况下所以的用户都是属于这个文件里面的.它和deny,两个文件同时存在时 cron.allow优先
/var/spool/cron用户制定了计划任务后,就会在这个目录下创建相应的文件夹,里面保存相应的任务
/etc/crontab系统默认每分钟都回去扫描下这个文件夹,并执行里面的计划任务
命令格式:crontab [-u username] [-l] [-e] [-r]
选项说明:
-e 编辑当前用户的crontab文件,或者当一个crontab文件不存在时,创建一个crontab 文件。编辑并保存后文件被当前用户的crontab安装。
-l 列出当前crontab文件内容。
-r 删除当前用户的crontab文件。
-u username 指定用户名。
新增调度任务
新增调度任务可用两种方法:
1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2、 直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。
计划任务编写
它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段(也可以是一个有执行权限的脚本),
格式如下:* * * * * <command | shell script>
其时间段的含义如表二: 段 含义 取值范围
第一段 代表分钟 0—59
第二段 代表小时 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期几,0代表星期日 0—6
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每 5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。
例如你想在每年的3月7号到23号早上8点和下午1点执行一个test.sh脚本
* 8,13 7-23 3 * test.sh
当然我们也可以到/etc/crontab下直接编辑添加我们的计划任务。
第二部分:at的使用
at也有自己的限制和允许文件/etc/at.allow、/etc/at.deny
at有两种执行方式:直接输入命令、执行某个脚本文件(-f指定)
执行test.sh脚本的代码:
at -f test.sh now + 2 minutes
自己输入代码:
at now+2 minutes
>echo "hello!" >> /test
ctrl+D退出
转载于:https://blog.51cto.com/webuser/295135
最后
以上就是风趣苗条为你收集整理的linux crontab实现计划任务的全部内容,希望文章能够帮你解决linux crontab实现计划任务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复