TimLeaf 2019-12-02 18:51 采纳率: 100%
浏览 526
已采纳

crontab执行node.js和直接执行的结果不一致。

问题描述

使用Node.js的Puppeteer写了一个爬取网站数据的脚本。

并将执行该脚本的命令写入了CentOS的Shell脚本,代码如下:

cd /home/timleaf/WebScrape && /usr/bin/node reins.js &> crontab.log

然后将Shell脚本,写入crontab,定期执行。

Web Scraping

30 6 * * * /home/timleaf/WebScrape/scrape.sh

你期待的结果是什么?实际看到的错误信息又是什么?

可以从log中看到,scrape.sh被执行了。

但,不仅是crontab.log中是空的,保存的爬取数据也一样是空的。

而我单独在终端里执行

cd /home/timleaf/WebScrape && /usr/bin/node reins.js &> crontab.log

时,却是可以得到正常结果的。

这个问题,我应该从哪里排查。烦请各位指教一下。

  • 写回答

2条回答 默认 最新

  • weixin_43975295 2019-12-03 09:34
    关注

    多半是环境变量的问题吧,应为用crontab计划任务来运行脚本的时候,PATH变量的值和你直接在终端运行时PATH变量的值不同。
    建议在用crontab运行脚本时,脚本开头处加上两行引入环境变量:source /etc/profile source ~/.bash_profile

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题