debian

Debian Node.js 日志备份怎么做

小樊
55
2025-09-02 15:40:06
栏目: 编程语言

在Debian系统中备份Node.js日志,可参考以下方法:

  1. 使用logrotate工具

    • 安装:sudo apt-get install logrotate
    • 配置:编辑/etc/logrotate.d/nodejs-logs,添加以下内容(替换为实际日志路径):
      /path/to/nodejs/logs/*.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
        postrotate
          /usr/bin/kill -USR1 $(cat /path/to/nodejs/logs/node.pid)
        endscript
      }
      
    • 测试并启用:sudo logrotate -d /etc/logrotate.d/nodejs-logs(测试),sudo logrotate -f /etc/logrotate.d/nodejs-logs(强制执行)。
  2. 通过cron定时任务备份

    • 创建备份脚本(如/usr/local/bin/backup_nodejs_logs.sh):
      #!/bin/bash
      LOG_DIR="/path/to/nodejs/logs"
      BACKUP_DIR="/backup/nodejs_logs"
      TIMESTAMP=$(date +%Y%m%d%H%M%S)
      mkdir -p "$BACKUP_DIR"
      tar -czvf "$BACKUP_DIR/backup_$TIMESTAMP.tar.gz" -C "$LOG_DIR" .
      
    • 赋予执行权限:sudo chmod +x /usr/local/bin/backup_nodejs_logs.sh
    • 添加cron任务:crontab -e,添加0 2 * * * /usr/local/bin/backup_nodejs_logs.sh(每天凌晨2点执行)。
  3. 远程备份(可选)

    • 使用rsync将日志同步到远程服务器:
      rsync -avz --delete /path/to/nodejs/logs/ user@remote-server:/path/to/remote/backup/
      
    • 将命令添加到cron任务中实现定期同步。

说明:需根据实际日志路径调整配置,建议优先使用logrotatecron,简单高效且易于维护。

0
看了该问题的人还看了