Ubuntu系统下如何修改warp-svc日志目录至/data/log/
解决warp-svc日志目录修改至/data/log/的问题
直接修改/lib/systemd/system/warp-svc.service里的LogsDirectory配置无效的原因有两个:一是systemd的LogsDirectory参数默认是相对于/var/log的相对路径,不支持直接设置绝对路径;二是修改系统自带的service文件会在warp-svc包更新时被覆盖,正确的做法是使用systemd的drop-in配置来覆盖原有设置。
下面是具体的操作步骤:
步骤1:停止warp-svc服务
sudo systemctl stop warp-svc
步骤2:迁移现有日志文件
将原日志目录下的文件移动到目标目录,同时删除原日志目录:
sudo mv /var/log/cloudflare-warp/* /data/log/ sudo rm -rf /var/log/cloudflare-warp
步骤3:创建systemd drop-in配置目录
sudo mkdir -p /etc/systemd/system/warp-svc.service.d
步骤4:编写override配置文件
创建并编辑drop-in配置文件:
sudo nano /etc/systemd/system/warp-svc.service.d/override.conf
将以下内容写入文件:
[Service] # 清空原有LogsDirectory配置 LogsDirectory= # 覆盖ExecStart,添加--log-dir参数指定日志输出目录 ExecStart= ExecStart=/usr/bin/warp-svc --log-dir=/data/log/
说明:warp-svc原生支持
--log-dir参数指定日志输出根目录,添加该参数后,程序会直接将cfwarp_service_log.txt、cfwarp_service_stats.txt等文件写入/data/log/下。
步骤5:调整目标目录权限
确保warp-svc运行用户(默认是warp-svc)对/data/log/有读写权限:
sudo setfacl -R -m u:warp-svc:rw /data/log/
步骤6:重新加载配置并启动服务
sudo systemctl daemon-reload sudo systemctl start warp-svc
验证结果
查看/data/log/目录下是否生成了warp-svc相关的日志文件:
ls /data/log/cfwarp_service_*.txt
内容的提问来源于stack exchange,提问作者dev
相关产品推荐
相关产品推荐

