【问题标题】:How do I create a cron job that will run everyday at 12:20am?如何创建每天凌晨 12:20 运行的 cron 作业?
【发布时间】:2011-11-11 16:43:53
【问题描述】:

我正在尝试在我的 Mac OS X 机器上编写一个 cron 作业,该作业将在每天凌晨 12:20 运行 Ruby 脚本。

这是我需要运行的,但我不知道在 Mac 上使用的语法或命令:

/usr/bin/ruby /Users/tamer/scripts/sftp.rb

我读到了crontab -e,但之后我需要做些什么吗?

【问题讨论】:

    标签: macos shell cron crontab


    【解决方案1】:

    “每天上午 12:20”的 crontab 是

    20 0 * * *
    

    crontab 中的整行将是

    20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb
    

    【讨论】:

      【解决方案2】:

      crontab 条目应如下所示:

      20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb
      

      这假设您不需要任何其他环境变量即可使其全部工作。如果您确实需要其他变量,则创建一个环境设置 shell 脚本,然后执行 Ruby 程序和脚本。

      要提交作业,我通常使用:

      crontab -l > x3
      echo  "20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb" >> x3
      crontab < x3
      rm x3
      

      【讨论】:

      • 你不会只使用crontab -e 来编辑 crontab 配置文件(代替使用 x3 临时文件)吗?
      • @snowbound:也许,但前提是我知道/记得该选项在那里,并且如果我想做交互式编辑。如果我正在编写脚本,除了使用更好的临时文件名(例如来自mktemp)之外,我可能会按照所示进行。或者,由于我通常将 crontab 条目置于源代码管理之下,因此我会编辑文件的主版本并在签入更改后重新提交。
      • 您的方法还具有能够被另一个脚本以编程方式调用的优势:D
      猜你喜欢
      • 2013-01-20
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 2019-08-31
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多