我在 Ubuntu 服务器上有一个用于存储一些日志文件的 logrotate 脚本。脚本如下。
/home/*/logs/*log {
su root root
notifempty
daily
rotate 7
compress
sharedscripts
postrotate
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
}
现在我想在我的 CentOS 8 服务器中实现相同的脚本。在这里我不明白这些线的价值是多少
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
答案1
我建议你使用 CentOS 基本httpd
包中使用的内容httpd.logrotate:
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}
(此外,我建议您不要将 /home 用作存储网站的地方。我想除非您关闭 SELinux,否则几乎所有东西都会崩溃?这就是原因。除此之外,您的配方将为每个恰好拥有带有日志目录的主目录的用户压缩日志。我想如果您只有网站用户......)