ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux建立定时任务

2020-02-22 17:09:09  阅读:183  来源: 互联网

标签:bin 实例 任务 sh linux test home 定时 执行


一、简介

定时任务与shell脚本的搭配可以实现很多令人轻松的功能。让机器按照人的意志定时去做事,绝对是让人愉悦的事情!

crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
Linux下的任务调度分为两类,系统任务调度和用户任务调度。

** (1)系统任务调度**
系统任务调度,是面向全局的功能。不受用户限制,持续执行定时任务。

** (2)用户任务调度**
用户任务调度,仅仅是面向用户的功能。由一般用户设置定时任务,相较于系统任务则是存在较多不同

** 使用者权限文件**
在目录etc下有两个文件
cron.deny # 该文件中所列用户不允许使用crontab命令
cron.allow # 该文件中所列用户允许使用crontab命令

** 用户crontab文件的存放目录**
/var/spool/cron/ # 所有用户crontab文件存放的目录,以用户名命名

二、格式

系统调度的任务一般存放在/etc/crontab这个文件下,里面存放了一些系统运行的调度程序
使用命令:

cat /etc/crontab
SHELL=/bin/bash # 第一行SHELL变量指定了系统要使用哪个shell,这里是bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin # 第二行PATH变量指定了系统执行 命令的路径
MAILTO=root # 第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

二、设置

1、查看定时任务

crontab -l

2、编辑定时任务

crontab -e

3、增加定时任务

* * * * * command

等价

minute hour day month week command

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

案例

实例1:每1分钟执行一次command

* * * * * command

实例2:每小时的第3和第15分钟执行

3,15 * * * * command

实例3:在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * *command

实例4:每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2  *  * command

实例5:每周一上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 command

实例6:每晚的21:30执行home目录下的test.sh脚本

30 21 * * * /bin/sh /home/test.sh

实例7:每月1、10、22日的4 : 45执行home目录下的test.sh脚本

45 4 1,10,22 * * /bin/sh /home/test.sh

实例8:每周六、周日的1 : 10执行home目录下的test.sh脚本

10 1 * * 6,0 /bin/sh /home/test.sh

实例9:每天18 : 00至23 : 00之间每隔30分钟执行home目录下的test.sh脚本

0,30 18-23 * * * /bin/sh /home/test.sh

实例10:每星期六的晚上11 : 00 pm执行home目录下的test.sh脚本

0 23 * * 6 /bin/sh /home/test.sh

实例11:每一小时执行home目录下的test.sh脚本

* */1 * * * /bin/sh /home/test.sh

实例12:晚上11点到早上7点之间,每隔一小时执行home目录下的test.sh脚本

* 23-7/1 * * * /bin/sh /home/test.sh
知者乎也 发布了24 篇原创文章 · 获赞 7 · 访问量 6889 私信 关注

标签:bin,实例,任务,sh,linux,test,home,定时,执行
来源: https://blog.csdn.net/weixin_43968988/article/details/104444638

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有