温馨提示×

nohup命令python如何设置日志大小

小樊
81
2024-12-11 11:50:22
栏目: 编程语言

nohup 命令允许你在后台运行程序,即使你关闭终端

nohup python your_script.py > output.log 2>&1 &

这将把标准输出(stdout)和标准错误(stderr)重定向到名为 output.log 的文件中。默认情况下,nohup.out 文件将包含所有输出。

要限制日志文件的大小,你可以使用 logrotate 工具。首先,确保你的系统已经安装了 logrotate。然后,创建一个名为 your_script.logrotate 的配置文件,如下所示:

/path/to/your_script.log {
    size 10M
    rotate 5
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /path/to/your_script.sh restart
    endscript
}

在这个配置文件中:

  • /path/to/your_script.log 是日志文件的路径。
  • size 10M 表示当日志文件大小达到 10MB 时,logrotate 将对其进行压缩和切割。
  • rotate 5 表示保留最近的 5 个日志文件。
  • 其他选项(如 missingoknotifempty 等)用于处理日志文件不存在或空的情况。

接下来,编辑 /etc/logrotate.d/your_script 文件,将 your_script.logrotate 配置文件的内容粘贴到其中,并确保文件的第一行包含正确的 logrotate 版本号(通常是 version 3 或更高)。

最后,运行以下命令以应用配置:

sudo logrotate -f /etc/logrotate.d/your_script

这将强制 logrotate 立即应用配置,而不是等待下一次计划运行。

现在,你的日志文件大小将受到限制,当日志文件达到指定大小时,logrotate 将自动对其进行压缩和切割。

0