AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 392555
Accepted
raphink
raphink
Asked: 2012-05-26 01:01:05 +0800 CST2012-05-26 01:01:05 +0800 CST 2012-05-26 01:01:05 +0800 CST

每 X 小时的 crontab 计划

  • 772

当每小时安排一个工作x时,如何判断将选择哪个时间?

例如,我们有一个 cronjob 集,*/8它在凌晨 2 点、上午 10 点等而不是午夜、上午 8 点等运行。

cron
  • 5 5 个回答
  • 921 Views

5 个回答

  • Voted
  1. quanta
    2012-05-26T01:21:37+08:002012-05-26T01:21:37+08:00

    尝试这个:

    0 2-18/8 * * * /path/to/your/script
    
    • 2
  2. Best Answer
    adaptr
    2012-05-26T01:04:35+08:002012-05-26T01:04:35+08:00

    显示证明这一点的 cron 日志。

    也许 cron 或系统在不同的时区运行?

    • 1
  3. raphink
    2012-05-26T01:36:45+08:002012-05-26T01:36:45+08:00

    为了弄清楚情况,我们实际上看到了显示作业在凌晨 2 点、上午 10 点等开始的图表。

    在调查这个问题后,我们发现 cron 是用 启动的TZ=UTC,而/etc/timezone设置为Europe/Zurich。似乎 cron 是在/etc/timezonecontained的时候重新启动的UTC,并且自从/etc/timezone被更改后就再也没有重新启动过。

    结果,cron 不仅以 UTC 启动它的作业,它还以 UTC 登录,这导致/var/log/auth.log包含如下内容:

    May 25 08:19:57 ip-10-50-81-194 sshd[6216]: pam_unix(sshd:session): session opened for user root by (uid=0)
    May 25 06:25:01 ip-10-50-81-194 CRON[6385]: pam_unix(cron:session): session opened for user root by (uid=0)
    May 25 06:29:44 ip-10-50-81-194 CRON[6385]: pam_unix(cron:session): session closed for user root
    May 25 08:53:36 ip-10-50-81-194 sudo:   nagios : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/opt/nagios-plugins/check_system_update.pl
    

    由于 collectd 在 中正常运行Europe/Zurich,它显示从凌晨 2 点(UTC 午夜)、上午 10 点(UTC 上午 8 点)等开始的作业。

    • 0
  4. bagavadhar
    2012-05-26T01:43:50+08:002012-05-26T01:43:50+08:00

    传递 TZ 变量将始终使脚本在该时区运行,而不管您的系统本地时区如何。如果您不希望出现这种行为,请从该行中删除 TZ 变量。

    • 0
  5. B14D3
    2012-05-26T02:15:21+08:002012-05-26T02:15:21+08:00

    * 代表 first-last 所以如果你像这样设置 cronjob

    0 */2 * * * echo "runat midn, 2am, 4am ..., everyday"

    应该是一样的

    0 0-23/2 * * * echo "runat midn, 2am, 4am ..., everyday"

    所以在你的示例工作中

    0 0-23/8 * * * command

    或者

    0 */8 * * * command应该在 0:00 8:00 16:00 运行...

    也许你的时间或时间设置有误。向我们展示您的 crontab -l 输出并检查您当前的时间和时区设置。

    • 0

相关问题

  • 每 4 小时运行一次 cron 的正确语法是什么?[复制]

  • 用于 mysql 数据库清理和备份的 crontab

  • Windows cron 作业

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • crontab ifconfig 什么都不输出

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve