首页 / LINUX / Linux编写定时任务
Linux编写定时任务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux编写定时任务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3001字,纯文字阅读大概需要5分钟。
内容图文
![Linux编写定时任务](/upload/InfoBanner/zyjiaocheng/955/4767c68834e24e1d8757330e703b91f1.jpg)
1.crontab –e:编辑当前定时任务
保存完重新crond :
service crond restart
2. crontab用法
crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了数字还有几个特殊的符号:"*"、"/"和"-"、","
- *代表所有的取值范围内的数字
- "/"代表每的意思,"/5"表示每5个单位
- "-"代表从某个数字到某个数字
- ","分开几个离散的数字
注:commands 注意以下几点
- 要是存在文件,要写绝对路径
- 即使是打印也不会显示在显示屏,在后台运行,最好重定向日志
3. 编辑crontab文件
1 2 3 |
|
4. 流程举例
step1:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." 表示,每隔15分钟,执行一次打印命令
step2:添加定时任务。执行命令
1 |
|
step3:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
1 |
|
结果程序会每个15分钟往脚本里写一次“xgmtest.....”
5. 几个例子
每天早上6点 0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。 每两个小时(第一个为15,指明没两个小时的第15min中执行一次) 15 */2 * * * echo "Have a break now." >> /tmp/test.txt 晚上11点到早上8点之间每两个小时和早上八点 0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * 1-3 command line 1月1日早上4点 0 4 1 1 * command line 每小时(第一分钟)执行/etc/cron.hourly内的脚本 01 * * * * root run-parts /etc/cron.hourly 每天(凌晨4:02)执行/etc/cron.daily内的脚本 02 4 * * * root run-parts /etc/cron.daily 每星期(周日凌晨4:22)执行/etc/cron.weekly内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly 每月(1号凌晨4:42)去执行/etc/cron.monthly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly 注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。 每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。 5,15,25,35,45,55 16,17,18 * * * command 每周一,三,五的下午3:00系统进入维护状态,重新启动系统。 00 15 * *1,3,5 shutdown -r +5 每小时的10分,40分执行用户目录下的innd/bbslin这个指令: 10,40 * * * * innd/bbslink 每小时的1分执行用户目录下的bin/account这个指令: 1 * * * * bin/account 每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔): 203 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st) 每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。 12,553 4-91,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
6.重启crond : service crond restart
内容总结
以上是互联网集市为您收集整理的Linux编写定时任务全部内容,希望文章能够帮你解决Linux编写定时任务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。