【问题标题】:change the path where cronjob writes to更改 cronjob 写入的路径
【发布时间】:2021-10-20 05:15:55
【问题描述】:

我有一个 node js 脚本,它写入 nodejs 脚本所在位置的文件。 我创建了一个 shell 脚本来调用这个 nodejs 脚本(以及其他一些将 nodejs 的输出文件作为输入的命令) 我将此 shell 脚本安排为 cron 作业。现在 nodejs 的输出保存在我的 /home 文件夹中。如何更改此文件以使文件位于脚本文件夹中?

我无法更改此 nodejs 脚本,因为它来自另一个团队。

【问题讨论】:

    标签: node.js shell unix cron


    【解决方案1】:

    我认为运行从脚本文件夹中调用 nodejs 脚本的 shell 脚本可能可行。

    或者 nodejs 脚本写入“/filename”而不是“./filename”,我认为你只能通过更改 nodejs 脚本来修复,也许可以询问制作它的团队。

    【讨论】:

    • 我的 shell 脚本和我的节点 js 脚本都在同一个目录中。 nodejs脚本只有var fileName = "EXPORT_" + dateFormat + ".json"; var filePath = fileName; 然后fs.appendFile(filePath, fileData, function (err) { if (err) throw err; });
    • 我想修改 fileName = "EXPORT_" + dateFormat + ".json"; to fileName = "./EXPORT_" + dateFormat + ".json";可能会成功
    • 谢谢..实际上我不想更改 nodejs 脚本,因为该脚本来自另一个团队,并且有时可能会更改(由该团队)。没有别的办法吗?
    【解决方案2】:

    所以我找到了一种方法,在 crontab 中我做了 cd 然后是脚本名称。

    0 0 * * * cd <path to scripts> && ./<script> >> <path/log.out> 2>&1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-08
      • 2015-05-21
      • 1970-01-01
      • 2014-03-23
      • 2017-02-02
      • 2014-07-27
      • 2019-06-17
      • 1970-01-01
      相关资源
      最近更新 更多