【问题标题】:Nodejs app not working with crontab @rebootNodejs应用程序无法使用crontab @reboot
【发布时间】:2018-05-27 02:45:24
【问题描述】:

我试图在系统重新启动后运行 nodejs 程序,我正在使用 crontab @reboot 来执行此操作,但它不起作用。 这是我的配置步骤,知道有什么问题吗?

  1. 我用的是aws linux,通过nvm安装了nodejs;

  2. 哪个节点
    /root/.nvm/versions/node/v8.9.3/bin/node

  3. 我的 test.js 位于
    /home/ec2-user/spider/logger.js

  4. 这很好
    /root/.nvm/versions/node/v8.9.3/bin/node /home/ec2-user/spider/logger.js

  5. 这也很好用 @reboot echo "hi" > /home/reboot.txt 2>&1

  6. crontab -e
    @reboot /root/.nvm/versions/node/v7.1.0/bin/node /home/user/test.js

  7. 重启,test.js 永远不会运行

也试过了:
* * * * * /root/.nvm/versions/node/v8.9.3/bin/node /home/ec2-user/spider/logger.js >> /home/crontab.log 2>&1
* * * * * echo $(date '+%Y %b %d %H:%M') >> /home/reboot.txt 2>&1
* * * * * echo "hi" >> /home/hi.txt 2>&1

只有最后一个有效。

【问题讨论】:

  • 在 crontab 中设置时间是否有效?喜欢11 12 * * * ?
  • @daniel - 你解决过这个问题吗?

标签: node.js linux cron


【解决方案1】:

crontab 语法由两部分组成,要执行的日期时间和要执行的命令。在这种情况下,您的命令是/root/.nvm/versions/node/v7.1.0/bin/node /home/user/test.js

*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of        month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

【讨论】:

  • 这是对 cron 工作原理的一个很好的解释,但它没有回答问题
猜你喜欢
  • 2021-05-04
  • 2022-01-05
  • 2023-03-13
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
相关资源
最近更新 更多