【问题标题】:Running a CronJob of a .js File Does Not Output Console to .txt or .log file运行 .js 文件的 CronJob 不会将控制台输出到 .txt 或 .log 文件
【发布时间】:2020-12-16 07:29:31
【问题描述】:

我有一个运行 .js 脚本的 cronjob 任务。

将输出定向到其自定义 .txt 文件时,cronjob 确实可以很好地运行任务。

我想定制成两组控制台输出,一组作为普通用户/工程师,一组供开发人员调试。

但是,只有当我在 CLI 控制台中运行 node main.js 文件而不是运行 main.js 并获取 .txt 文件的 cronjob 时,才会创建以下 .txt 文件。

cronjob.sh

#!/bin/sh
/usr/bin/node /home/files/main.js

crontab -l

*/10 * * * * /home/files/cronjob.sh >> /home/files/cronjob_log.txt 2>&1

ma​​in.js

const normalUserConsole = new console.Console(fs.createWriteStream(outputNormalUser.txt));

const developerConsole = new console.Console(fs.createWriteStream(outputDeveloper.txt));

normalUserConsole.log("Timestamp: " + getDateString() + ' hrs');
  • getDateString() 确实能够获得输出。

有没有办法让 cronjob 运行 console.log 并将输出获取到相应的 .txt 文件?

【问题讨论】:

  • 在你的 cronjob.sh 中你不应该调用节点来运行 main.js 吗?
  • 我为那里的错字道歉。我已经做出了改变。

标签: javascript cron console console.log


【解决方案1】:

我认为您应该修改 cronjob.sh 以在此处记录程序的输出。

应该是这样的

#!/bin/sh /usr/bin/node /home/files/main.js >> /home/files/cronjob_log.txt

【讨论】:

    猜你喜欢
    • 2021-06-20
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2023-02-01
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多