文章内容

2025/12/8 18:59:57,作 者: 黄兵

Python 程序产生的日志在 Ubuntu 24.04 应该放在那个目录

按照 Linux FHS(Filesystem Hierarchy Standard)规范:

应用程序代码放在 /opt/your_app/,日志应该放在 /var/log/your_app/

这是最标准、最专业、最符合服务器规范的做法。

✅ 为什么日志要放在 /var/log/

  • /var/log 是系统和应用的统一日志存放目录

  • logrotate 默认只处理 /var/log 下的日志

  • 权限模型更安全,应用不需要写入 /opt

  • 遵循系统管理员的习惯(所有日志都在 /var/log)

  • 更容易监控、抓取、集中处理(如 ELK、Promtail 等)

📁 推荐目录结构示例

/opt/swift-monitor/
    main.py
    utils/
    venv/
    config/
        config.yaml
    tmp/

/var/log/swift-monitor/
    app.log
    error.log

🛠 日志权限最佳做法

    • 创建一个系统用户运行你的应用(而不是 root):
    sudo useradd -r -s /bin/false swiftmon
    
    • 创建日志目录并授权:
    sudo mkdir /var/log/swift-monitor
    sudo chown swiftmon:swiftmon /var/log/swift-monitor
    
    • systemd 服务中指定用户:
    [Service]
    User=swiftmon
    Group=swiftmon
    WorkingDirectory=/opt/swift-monitor
    ExecStart=/opt/swift-monitor/venv/bin/python main.py
    

    🌀 logrotate 规则建议(推荐添加)

    /var/log/swift-monitor/*.log {
        weekly
        rotate 8
        compress
        missingok
        notifempty
        copytruncate
    }
    

    📌 总结

    内容 最佳位置
    Python 项目 /opt/your_app/
    日志文件 /var/log/your_app/
    systemd 服务文件 /etc/systemd/system/
    配置文件 /opt/your_app/config//etc/your_app/


    其它相关推荐:

    1、Linux /var 目录作用

    2、Linux /opt 目录作用

    3、Python 写的程序应该放在 Ubuntu 24.04 那个目录

    4、Python 创建文件代码片段

    5、Flask 获取环境变量

    分享到:

    发表评论

    评论列表