一部のログファイルを保存する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
httpd
CentOSの基本パッケージで使用されているものを使用することをお勧めしますhttpd.logrotate:
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}
(また、/homeをWebサイトを保存する場所として使用しないことをお勧めします。SELinuxをオフにしないと、ほとんどすべてが中断されると思います。そうですから。ユーザーだけがいる場合は、ログディレクトリのホームディレクトリのようです...)