在cron启动定时任务后总是会启动一个[sendmail] 进程的解决方法, 并且每次cron任务之后msmtp.log总是记录一条发送失败的日志

    最近配置服务器上自动编译任务时,每次执行完cron任务之后发现home根目录下的msmtp的log文件有一个发送失败的log,而接收者为执行cron任务的用户名,事实上是因为cron任务有大量输出到标准设备上,从而出发系统的sendmail想把这些输出信息当作邮件发送给用户,而这个用户根本没有邮箱,因而导致msmtp记录了发送失败的log,而这个尝试发送邮件的进程就是[sendmail] <defunct>进程,如果把sendmail指向msmtp的软链接删除掉,这个进程就会变成[cron] <defunct>。

    因此这个问题的解决方法就是把cron任务的输出定向到空设备上: 1>/dev/null 2>&1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Next.js 项目中运行 Node.js 脚本有多种方法,以下是其中两种: **方法一:使用 child_process 模块** 可以使用 Node.js 内置的 child_process 模块,在 Next.js 项目中启动一个进程来运行定时任务脚本。 具体步骤如下: 1. 在 Next.js 项目中安装 child_process 模块: ``` npm install child_process ``` 2. 在 Next.js 项目中创建一个 JavaScript 文件,例如 task.js,编写定时任务脚本: ```javascript const cron = require("node-cron"); cron.schedule("* * * * *", function () { console.log("running a task every minute"); }); ``` 3. 在 Next.js 项目中创建一个 JavaScript 文件,例如 index.js,使用 child_process 模块启动 task.js 文件: ```javascript const { spawn } = require("child_process"); const taskProcess = spawn("node", ["task.js"]); taskProcess.stdout.on("data", (data) => { console.log(`stdout: ${data}`); }); taskProcess.stderr.on("data", (data) => { console.error(`stderr: ${data}`); }); ``` **方法二:使用 pm2** 使用 pm2 可以更方便地在 Next.js 项目中运行 Node.js 脚本,并且可以监控脚本的运行状态、自动重启等。 具体步骤如下: 1. 在 Next.js 项目中安装 pm2: ``` npm install pm2 -g ``` 2. 在 Next.js 项目中创建一个 JavaScript 文件,例如 task.js,编写定时任务脚本: ```javascript const cron = require("node-cron"); cron.schedule("* * * * *", function () { console.log("running a task every minute"); }); ``` 3. 在 Next.js 项目根目录下创建一个 pm2.config.js 文件,配置 pm2 启动 task.js: ```javascript module.exports = { apps: [ { name: "task", script: "./task.js", watch: false, autorestart: true, cron_restart: "* * * * *", }, ], }; ``` 4. 在 Next.js 项目根目录下运行 pm2 start 命令启动定时任务: ``` pm2 start pm2.config.js ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值