在Ubuntu系统中,可以使用pm2和logrotate来实现Node.js应用程序的日志分割。下面是具体的步骤:
安装pm2:
通过npm安装pm2:
npm install pm2 -g
或者使用yarn安装pm2:
yarn global add pm2
使用pm2启动Node.js应用程序:
pm2 start app.js --name my-app
这里,app.js是你的Node.js应用程序的入口文件,my-app是应用程序的名称。
配置logrotate:
在Ubuntu系统中,logrotate工具通常已经预装。你可以通过编辑/etc/logrotate.d/pm2文件来配置logrotate。
使用文本编辑器打开/etc/logrotate.d/pm2文件,例如:
sudo nano /etc/logrotate.d/pm2
将以下内容粘贴到文件中,并根据需要进行修改:
/home/your-username/.pm2/logs/*.log {
daily
rotate 7
compress
notifempty
create 0640 your-username your-username
missingok
sharedscripts
postrotate
pm2 reload <your-app-name> > /dev/null 2>&1 || true
endscript
}
这里的配置表示每天分割日志,保留最近7天的日志,压缩旧日志,仅允许特定用户访问日志文件等。
请确保将your-username替换为你的实际用户名,将<your-app-name>替换为你的Node.js应用程序的名称。
保存并关闭文件。现在,logrotate将按照配置自动分割Node.js应用程序的日志。
如果需要手动触发日志分割,可以运行以下命令:
sudo logrotate -f /etc/logrotate.d/pm2
这样,你就可以在Ubuntu系统中实现Node.js日志的分割了。