Npm run在crontab中不起作用(cronjob)

问题描述 投票:0回答:1

我想使用Makefile和Shellscript使用nuxt生成和呈现静态内容。

Makefile

deploy-content: ## Generate content using nuxt
       @echo $(/bin/bash -c cd /var/www/nuxt; npm run --prefix /var/www/nuxt generate)

render.sh

#!/bin/sh

# start generating content in background
make deploy-content > /dev/null 2>&1 &

Crontab -e :):

# Midnight 2 am
0 2 * * *        cd /var/www/generate/ && make deploy-content > /dev/null 2>&1 &

也请考虑以下事项:

  • render.sh拥有+ x权限。
  • Makefilerender.sh位于不同目录(不是在/ var / www / nuxt内部)。
  • 当我从shell运行shellscript时,它工作正常,但在crontab中却不起作用。
  • 我还试图将npm命令放在crontab straigtaway中。 (无效)

有人可以帮助我吗,Pleeeeeeeeeease?可能是我错过了一些东西,却没有意识到。 :)

非常感谢,干杯!

shell ubuntu npm cron nuxt
1个回答
0
投票

最简单的情况:

Crontab

* * * * *        /usr/bin/make -C /var/www/generate/ > /tmp/log.txt

Makefile(/ var / www / generate / Makefile)

deploy-content:
    /bin/bash -c "cd /var/www/nuxt/; npm ls"

然后输出应该在

cat /tmp/log.txt
© www.soinside.com 2019 - 2024. All rights reserved.