在 CentOS 中“替换日志路径”通常取决于你用的是哪种服务/程序。下面按常见情况说明,你可以对照使用。
CentOS 6/7 常用 rsyslog。
vi /etc/rsyslog.conf
或自定义配置:
vi /etc/rsyslog.d/xxx.conf
例如原配置:
*.info;mail.none /var/log/messages
改为:
*.info;mail.none /data/logs/messages
mkdir -p /data/logs
chown syslog:adm /data/logs
chmod 755 /data/logs
systemctl restart rsyslog
vi /etc/nginx/nginx.conf
修改:
access_log /data/logs/nginx/access.log;
error_log /data/logs/nginx/error.log;
然后:
mkdir -p /data/logs/nginx
chown nginx:nginx /data/logs/nginx
systemctl restart nginx
修改或新增:
vi /etc/logrotate.d/nginx
示例:
/data/logs/nginx/*.log {
daily
rotate 7
missingok
notifempty
compress
sharedscripts
postrotate
systemctl reload nginx
endscript
}
vi /etc/docker/daemon.json
{
"data-root": "/data/docker"
}
重启:
systemctl restart docker
常见做法:
mv /var/log/xxx /data/log/xxx
ln -s /data/log/xxx /var/log/xxx
⚠️ 软链接方式需注意服务是否支持。
我可以直接给你精确命令。