Nodejs应用程序无法使用crontab @reboot

时间:2017-12-13 09:05:09

标签: node.js linux cron

尝试在系统重启后运行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永远不会运行

  8. 也尝试过:
    * * * * * /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

    只有最后一个有效。

1 个答案:

答案 0 :(得分:-2)

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)