`
dannyhz
  • 浏览: 402901 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Jenkins trigger schedule cron

 
阅读更多
http://stackoverflow.com/questions/12472645/how-to-schedule-jobs-in-jenkins

By setting the schedule period to 15 13 * * * you tell jenkins to schedule the build every day of every month of every year at the 15th minute of the 13th hour of the day.

What Jenkins used is a cron expression, the different fields are :
1.MINUTES Minutes in one hour (0-59)
2.HOURS Hours in one day (0-23)
3.DAYMONTH Day in a month (1-31)
4.MONTH Month in a year (1-12)
5.DAYWEEK Day of the week (0-7) where 0 and 7 are sunday

If you want to shedule your build every 5 minutes, this will do the job : */5 * * * *

If you want to shedule your build every day at 8h00, this will do the job : 0 8 * * *

Edit from June 2014 : since a few versions, Jenkins add a new parameter, H : (extract from the jenkins code documentation)


To allow periodically scheduled tasks to produce even load on the system, the symbol H (for “hash”) should be used wherever possible.

For example, using 0 0 * * * for a dozen daily jobs will cause a large spike at midnight. In contrast, using H H * * * would still execute each job once a day, but not all at the same time, better using limited resources.

Note also that :


The H symbol can be thought of as a random value over a range, but it actually is a hash of the job name, not a random function, so that the value remains stable for any given project.




linux(centos)中的cron计划任务配置方法[详细]

来源:互联网作者:任侠时间:02-27 10:35:19【大 中 小】


这里志文工作室要为您介绍的cron来源于希腊单词chronos(意为“时间”),指Linux系统下一个自动执行指定任务的程序(计划任务)






1. crontab命令选项





复制代码
代码如下:

#crontab -u <-l, -r, -e>



-u指定一个用户
-l列出某个用户的任务计划
-r删除某个用户的任务
-e编辑某个用户的任务

2. cron文件语法与写法

可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件。具体格式如下:




复制代码
代码如下:

Minute Hour Day Month Week command
分钟 小时 天 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command



每个字段代表的含义如下:




复制代码
代码如下:

Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务,0表示周日
Command 指定要执行的程序 、脚本或命令



在这些字段里,除了“Command”是必须指定的字段以外,其它字段皆为可选。对于不指定的字段,要用“*”来填补其位置。

3. 几个特殊符号的含义

“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字

4. 关于cron配置文件/etc/crontab

cron 的主配置文件是 /etc/crontab,它包括下面几行:





复制代码
代码如下:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly



前四行是用来配置 cron 任务运行环境的变量:

SHELL 变量的值指定shell 环境(此处默认为 bash shell);PATH 变量定义用来执行命令的程序路径;cron 任务的输出被邮寄给 MAILTO 变量定义的用户名,如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出;HOME 变量可以用来设置在执行命令或脚本时使用的主目录。

如在 /etc/crontab 文件中run-parts部分所示,它使用 run-parts 脚本来执行存在于 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本,这些脚本被相应地按照预设时间在每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本,并且具有可执行权限(chmod +x filename)。

如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到/etc/cron.d目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。

每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

5. 常见cron示例参考

5  * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令 ]

每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50 7 * *  * root run-parts  /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件

第10、20、30分钟输出到/tmp/cron1.txt:
10,20,30 * * * * echo "第10、20、30分钟输出一次" >> /tmp/cron1.txt

以用户lzw.me的身份每两小时就运行某个程序:

0 */2 * * * lzw.me /usr/bin/somecommand >> /dev/null 2>&1

6. 特别提示

A、cron配置文件路径

#vi /etc/crontab
B、重启cron的方法

#/etc/rc.d/init.d/crond restart
Usage: /etc/rc.d/init.d/crond {start|stop|status|reload|restart|condrestart}

C、别忘了将脚本改成可执行

chmod +x filename


http://webcache.googleusercontent.com/search?q=cache:l6SKtIAkADkJ:www.jb51.net/LINUXjishu/74014.html+&cd=6&hl=en&ct=clnk&gl=us
分享到:
评论

相关推荐

    jenkins-trigger:Github Action使用Jenkins API触发Jenkins作业并等待完成

    詹金斯(Jenkins)工作触发动作 Github Action使用Jenkins API触发jenkins作业并等待作业完成。 欢迎您的反馈和要求。 :open_hands: 用法 生成Jenkins API的API令牌 请参阅 登录詹金斯。 单击您的姓名(右上角)。 ...

    jenkins包直接解压

    Jenkins是一款广泛使用的开源持续集成(CI)工具,它允许开发者自动构建、测试和部署软件。这个"jenkins-2.32.2.zip"压缩包包含的是Jenkins的某个特定版本,即2.32.2。在这个版本中,Jenkins提供了稳定性和功能更新,...

    windows下安装Jenkins 2.289.3 jenkins.msi

    jdk1.8支持的最后一个版本jenkins,验证可用Jenkins Jenkins 2.289.3 jenkins.msi jdk1.8支持的最后一个版本jenkins,验证可用Jenkins Jenkins 2.289.3 jenkins.msi jdk1.8支持的最后一个版本jenkins,验证可用...

    jenkins压缩包,jdk8,jenkins.war以及Jenkins安装及配置的pdf

    这个压缩包包含Jenkins的基础环境——JDK8,Jenkins的核心文件——jenkins.war,以及一份关于Jenkins安装和配置的PDF指南,对于学习和部署Jenkins的初学者来说是非常有价值的资源。 首先,我们来详细了解一下...

    jenkins离线插件安装包大全

    Jenkins是一款广泛使用的开源持续集成工具,用于自动化各种软件开发任务,如构建、测试和部署。在许多情况下,尤其是在企业环境中,Jenkins可能需要在没有互联网连接的“离线”环境中运行。在这种情况下,离线安装...

    jenkins老版本资源

    Jenkins 是一款开源的持续集成(Continuous Integration, CI)服务器,它被广泛应用于软件开发过程中,用于自动化构建、测试和部署任务。这个压缩包文件集合提供了 Jenkins 的老版本及其相关资源,这对于那些需要...

    jenkins2.328配置连接harbor2.4的认证-jenkinsfile连接harbor-详细文档

    jenkins2.328 配置连接 harbor2.4 的认证-jenkinsfile 连接 harbor—详细文档 jenkins2.328 配置连接 harbor2.4 的认证-jenkinsfile 连接 harbor 是一种常见的 DevOps 实践,将编译构建的镜像推送到 docker-harbor ...

    windows下验证可用Jenkins 2.346.1

    jdk1.8支持的最后一个版本jenkins,验证可用Jenkins 2.346.1 jenkins.msi jdk1.8支持的最后一个版本jenkins,验证可用Jenkins 2.346.1 jenkins.msi jdk1.8支持的最后一个版本jenkins,验证可用Jenkins 2.346.1 ...

    jenkins插件

    Jenkins 插件是 Jenkins 持续集成服务器的核心组成部分,它们极大地扩展了 Jenkins 的功能,使其能够适应各种软件开发需求。以下是对这些特定插件的详细解释: 1. **maven-plugin.hpi** - Maven 插件允许 Jenkins ...

    jenkins开机启动和备份脚本

    在实际使用中,这个备份脚本可以配置为定时任务(如Cron),定期执行,以确保Jenkins数据的安全性。例如,你可以设置每天凌晨执行一次备份: ```bash 0 3 * * * /path/to/jenkins_backup.sh ``` 这将确保即使在...

    jenkins离线安装中文插件包jenkins-zh.zip

    Jenkins是一款广泛使用的开源持续集成(CI)工具,它允许开发者自动构建、测试和部署软件。在本场景中,我们关注的是如何在离线环境中安装Jenkins的中文插件包。"jenkins-zh.zip" 文件是专门为解决中文语言支持而...

    jenkins.war-2.356,适合JDK8的最后jenkins版本

    1. **安装与配置**:Jenkins可以通过下载`jenkins.war`文件,然后在Java环境中运行`java -jar jenkins.war`启动。也可以选择将其部署到像Tomcat这样的Web容器中。配置过程中,需要设定Jenkins的URL、初始化密码,并...

    Jenkins增量更新部署

    Jenkins 有一些插件可以帮助实现增量部署,如 `Build Trigger Plugin` 和 `Publish Over SSH Plugin`,它们可以自动化触发构建、传输文件和执行远程命令等操作。 7. **最佳实践**: - 定期全量部署:虽然增量部署...

    Jenkins安装包以及常用插件离线

    Jenkins是一款广泛使用的持续集成(CI)工具,它允许开发者自动化构建、测试和部署软件。在没有互联网连接的环境中,离线安装Jenkins及其插件是必要的。以下将详细介绍如何进行Jenkins的离线安装以及如何处理常用的...

    jenkins系列源码.zip

    本资料包"jenkins系列源码.zip"包含了与Jenkins相关的多个项目的源代码,包括myblog项目、robot集成测试源码、jenkins-share-library以及tools源码,旨在演示如何利用Jenkins结合Kubernetes(k8s)进行动态调用...

    Jenkins打包插件配置

    **Jenkins打包插件配置详解** 在持续集成和持续部署(CI/CD)的领域中,Jenkins扮演着至关重要的角色。它是一个开源的、高度可扩展的自动化服务器,广泛用于构建、测试和部署软件。其中,Jenkins的插件系统是其强大...

    Jenkins打包配置文件

    Jenkins是一款开源的持续集成(Continuous Integration,简称CI)服务器,它可以帮助开发团队自动化软件构建、测试和部署的过程。在“Jenkins打包配置文件”这个主题中,我们主要讨论的是如何管理和配置Jenkins来...

    使用java调用jenkins api

    Java调用Jenkins API是一个常见的自动化任务执行场景,特别是在持续集成和持续部署(CI/CD)流程中。Jenkins作为一个开源的持续集成工具,提供了丰富的API接口,允许开发者通过编程方式与Jenkins服务器进行交互。...

    jenkins离线所需插件

    Jenkins 是一款开源的持续集成(Continuous Integration, CI)工具,广泛用于自动化各种软件开发任务,包括构建、测试和部署。在离线环境下使用 Jenkins,往往需要预先下载好所需的插件,以确保在没有网络连接时也能...

    jenkins集成OWSAP ZAP插件方法

    "Jenkins集成OWSAP ZAP插件方法" Jenkins是一款流行的自动化构建工具,通过集成OWASP ZAP插件,可以实现自动化安全漏洞扫描,提高软件开发过程中的安全性。本文将详细介绍如何在Jenkins中集成OWASP ZAP插件,实现...

Global site tag (gtag.js) - Google Analytics