Cron 作业仅在一周中的特定一天运行

2023-12-15

0 0 2-31 * sun         /home/ubuntu/x.h
0 0 2-31 * mon-sat     /home/ubuntu/y.h

这最终会运行它们。我在这里做错了什么吗?


这是 crontab 格式:

* * * * *
| | | | |
| | | | +---- Day of the Week   (range: 0-6, 0 standing for Sunday)
| | | +------ Month of the Year (range: 1-12)
| | +-------- Day of the Month  (range: 1-31)
| +---------- Hour              (range: 0-23)
+------------ Minute            (range: 0-59)

Ubuntu man 5 crontab says:

  field          allowed values
  -----          --------------
  minute         0-59
  hour           0-23
  day of month   1-31
  month          1-12 (or names, see below)
  day of week    0-7 (0 or 7 is Sun, or use names)

所以,这应该适合你:

0 0 2-31 * 0         /home/ubuntu/x.h
0 0 2-31 * 1-6       /home/ubuntu/y.h

我不确定为什么 7 会在星期六运行 - 您的系统时间准确且位于正确的时区吗?

Edit:啊,是的,遗憾的是您无法同时指定星期几和月份。从man 5 crontab:

注意:命令执行的日期可以由两个字段指定 - 月份中的某一天和星期几。如果两个字段都受到限制(即不是 *),则当任一字段与当前时间匹配时将运行该命令。例如,“30 4 1,15 * 5”将导致命令在每月 1 日和 15 日以及每个星期五的凌晨 4:30 运行。但是,可以通过向命令添加测试来实现所需的结果(请参阅下面的 CRON 文件示例中的最后一个示例)。

所以,答案是:

0 0 2-31 * *       test $(date +\%u) -eq 7 && /home/ubuntu/x.h
0 0 2-31 * *       test $(date +\%u) -ne 7 && /home/ubuntu/y.h

$(date '+%u')返回 1-7 代表周一到周日。尝试echo $(date '+%u')举个例子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cron 作业仅在一周中的特定一天运行 的相关文章

  • 在 OpenShift(红帽云)上每 5 分钟运行一次 CRON 作业

    我试图每 5 分钟运行一次这个脚本 在 OpenShift 上运行 CRON 作业的唯一方法似乎是使用他们的 CRON 插件 而且CRON插件只允许每分钟 每小时和每天的脚本 通过将脚本放在相应的文件夹中 我尝试每 5 分钟运行一次此脚本
  • php cron 作业也执行 javascript

    我有一个运行 php 脚本的 cron 作业 但是我需要执行一些 html 和 javascript 才能使实际脚本正常工作 将 javascript 转换为 php 不是一个选项 基本上我需要它就像一个人在每次 cronjob 运行时正在
  • 使用 cronjob 运行 php 文件中的函数

    我的 php 文件 file1 php 中有一个函数 我正在尝试使用 cronjob 来调用此函数 我的 cron 作业命令是 php home name public html file1 php mail1 作为参考 函数代码如下 当直
  • 如何在Cron上动态设置变量?

    我正在尝试将 cron 文件放置在 etc croon 中 d 我的问题是我不想保持此文件更新 所以我正在寻找一种从文件动态获取软件版本的方法 我几乎没有其他变量 但现在我认为问题在于 cat software VERSION 它在 she
  • 如何使用 php 设置 crontab?

    我需要从 php 脚本设置一个 crontab 我知道它可以通过设置 system echo echo Hello world gt gt cron crontab system crontab cron crontab cron cron
  • 从通过 cron 作业运行的 bash 脚本访问 SSH 密钥

    我将这个脚本放在一起 每天更新一个分叉的 Github 存储库文件夹 如果我从提示符中调用它 它运行得很好 但我无法弄清楚如何让它在作为 cron 作业运行时可靠地利用我的 id rsa 这eval ssh agent 正是这样做的尝试 但
  • 如何在 xampp windows 中使用 CRON?逐步在开发中使用[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 应采取哪些步骤xampp codeigniter 使用 cron 以及如何让 cron 调用我们的函数XAMPP Windows 我们需要下载任何 e
  • 如何在 Laravel 中为 20 分钟后的每条新记录制定调度程序任务?

    我有一个停车系统 我使用 Angular 6 Laravel 作为后端 但我有一个具体问题 我不知道正确的方法 公园有两个图腾 它们向我的服务器发送一个条目 只有当客户从出口走出图腾并进入付款区时 我才会检查客户是否无效 这是我的代码 当他
  • 如何在文本文件更改时重新初始化 java servlet

    我有一个 servlet 它在初始化期间从文本文件中提取数据 现在我正在使用 cron 作业更新该文本文件 比如每天上午 10 点 并希望在每次该特定文件发生更改时重新初始化 servlet 我可以遵循的第二种方法是将 servlet 的重
  • 如何对项目的 cron 作业进行版本控制? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有一堆项目 我用 git 和 fab 推送到服务器 它们是 Django 站点的负载 其中一些站点有 cron 作业 我希望处于这样的境地 通
  • 每周运行一次 php 脚本

    每个星期一我都需要清空 MYSQL 数据库的几个字段 首先 我考虑使用 cron 作业 但我的 Web 托管提供商 fatcow com 既不支持 SSH 也不支持通过命令行访问共享服务器 我还考虑过检查 date 以查看是否是星期一并执行
  • Cron python脚本不执行[重复]

    这个问题在这里已经有答案了 我读过一些关于此的文章 但我无法在其中找到帮助 我有一个使用 smtplib 发送邮件的 python 脚本 从命令行调用时它会起作用 I have usr bin python作为第一行 并且可以使用以下命令运
  • 如何在AWS EC2服务器中编写cron作业

    我在 AWS EC2 中创建了一个 cron 作业 但它不起作用 我按照以下步骤创建 crontab 第1步 我登录到AWS EC2实例 step 2 crontab e 第三步 插入模式 第4步 我输入了 php var www html
  • git commit 找不到在 cron 作业中运行的(全局)配置

    我想使用 cron 作业提交一些文件更改 调用一个脚本 并在 root crontab 中使用以下行 0 cd files backup sh gt tmp cronlog 2 gt tmp cronerror 该脚本如下所示 usr bi
  • 在 C# 中创建 Cron 作业

    我正在用 C 编写一个调度类型应用程序 并允许用户存储他们想要在特定时间运行的任务 现在 我为他们提供了指定运行频率 每日 每周 每月 以及指定时间的选项 然后将其存储在数据库中 我在理解其背后的伪代码时遇到了一些麻烦 并且正在寻找一些有关
  • App Engine Cron 作业始终返回 HTTP 状态代码 301

    我已关注本指南 https cloud google com appengine docs flexible ruby scheduling jobs with cron yaml为我的 Rails 应用程序创建 cron 作业 但 HTT
  • 如何在 Django 中获取 URL(带有协议和域)(无需请求)?

    我想在 cron 作业中发送邮件 邮件应包含 我的应用程序的链接 在 cron 作业中 我没有请求对象 并且无法使用 request build absolute uri 据我所知 网站框架可以在这里提供帮助 但没有给我协议 http vs
  • @monthly cron 作业不可靠

    我们的客户希望我们每月创建一份报告 过去 我们使用 monthly cron 作业来完成此任务 但这并不可靠 服务器可能会在这一分钟内宕机 Cron 不会重新运行这些作业 如果服务器已启动 此时数据库可能无法访问 如果服务器已启动且数据库已
  • gentoo crontab:为什么这个简单的 crontab 不起作用?

    我使用 GENTOO 发行版 crontab e 35 12 root php5 home www cron php 当我手动运行时 php5 php5 home www cron php 这有效 它向我发送了一封电子邮件 然后我检查日期
  • 如何在 Jenkins 中安排构建?

    如何安排 Jenkins 构建 使其只能在每天的特定时间进行构建 例如下午 4 点开始 0 16 1 7 我理解为 每个月周一到周日下午 0 分钟 下午 4 点 但是它每分钟都会构建 如果有任何建议 我将不胜感激 谢谢 Update 请阅读

随机推荐