温馨提示×

CentOS上Node.js的定时任务如何设置

小樊
49
2025-10-17 12:00:25
栏目: 编程语言

在 CentOS 上设置 Node.js 定时任务,通常使用 systemdcron。下面分别介绍这两种方法:

方法一:使用 systemd

  1. 创建一个新的 systemd 服务文件:
sudo vi /etc/systemd/system/my-nodejs-app.service
  1. 在打开的文件中,添加以下内容(请根据实际情况修改):
[Unit]
Description=My Node.js App

[Service]
ExecStart=/usr/bin/node /path/to/your/app.js
Restart=always
User=<your-user>
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

这里,/usr/bin/node 是 Node.js 的可执行文件路径(可以使用 which node 命令查找),/path/to/your/app.js 是你的 Node.js 应用程序的入口文件。

  1. 保存并关闭文件。

  2. 重新加载 systemd 配置:

sudo systemctl daemon-reload
  1. 启动新创建的服务:
sudo systemctl start my-nodejs-app
  1. 设置开机自启动:
sudo systemctl enable my-nodejs-app
  1. 查看服务状态:
sudo systemctl status my-nodejs-app

方法二:使用 cron

  1. 打开终端,输入以下命令以编辑当前用户的 crontab 文件:
crontab -e
  1. 在打开的文件中,添加一行,表示定时任务的执行计划和命令。例如,每天凌晨 1 点执行 Node.js 应用程序:
0 1 * * * /usr/bin/node /path/to/your/app.js >> /path/to/your/logfile.log 2>&1

这里,/usr/bin/node 是 Node.js 的可执行文件路径,/path/to/your/app.js 是你的 Node.js 应用程序的入口文件,/path/to/your/logfile.log 是日志文件的路径。

  1. 保存并关闭文件。

现在,你已经成功设置了 CentOS 上的 Node.js 定时任务。根据你选择的方法,任务将按照设定的时间自动执行。

0