文章内容
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/ |
其它相关推荐:
评论列表