現象
Päivitys versiosta 19.1 versioon 19.2
– Kun Avamar
19.1 on päivitetty versioon 19.2, /var/log/messages sisältää logrotate-virheitä.
admin@avamar:~/>: grep -i "logrotate.service" /var/log/messages Feb 1 00:00:01 avamar systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE Feb 1 00:00:01 avamar systemd[1]: logrotate.service: Unit entered failed state. Feb 1 00:00:01 avamar systemd[1]: logrotate.service: Failed with result 'exit-code'. Feb 2 00:00:03 avamar systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE Feb 2 00:00:03 avamar systemd[1]: logrotate.service: Unit entered failed state. Feb 2 00:00:03 avamar systemd[1]: logrotate.service: Failed with result 'exit-code'. Feb 3 00:00:01 avamar systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE Feb 3 00:00:01 avamar systemd[1]: logrotate.service: Unit entered failed state. Feb 3 00:00:01 avamar systemd[1]: logrotate.service: Failed with result 'exit-code'.
– Viestien (/var/log/messages) perusteella virheet johtuvat siitä, ettei tiedostoa /etc/init.d/apache2 löydy prerotate-toiminnon suorittamiseen apache2:n logrotate.d:ssä
Feb 2 16:30:02 avamar logrotate: ALERT exited abnormally with [1] Feb 2 16:30:02 avamar logrotate: logrotate_script: line 1: /etc/init.d/apache2: No such file or directory Feb 2 16:30:02 avamar logrotate: error: error running non-shared prerotate script for /var/log/apache2/access_log of '/var/log/apache2/access_log ' Feb 2 16:30:02 avamar logrotate: logrotate_script: line 1: /etc/init.d/apache2: No such file or directory Feb 2 16:30:02 avamar logrotate: error: error running non-shared prerotate script for /var/log/apache2/ssl_request_log of '/var/log/apache2/ssl_request_log ' Feb 3 00:00:01 avamar logrotate[14221]: logrotate_script: line 1: /etc/init.d/apache2: No such file or directory Feb 3 00:00:01 avamar logrotate[14221]: error: error running non-shared prerotate script for /var/log/apache2/access_log of '/var/log/apache2/access_log ' Feb 3 00:00:01 avamar logrotate[14221]: logrotate_script: line 1: /etc/init.d/apache2: No such file or directory Feb 3 00:00:01 avamar logrotate[14221]: error: error running non-shared prerotate script for /var/log/apache2/ssl_request_log of '/var/log/apache2/ssl_request_log ' Feb 3 00:00:01 avamar systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE Feb 3 00:00:01 avamar systemd[1]: logrotate.service: Unit entered failed state. Feb 3 00:00:01 avamar systemd[1]: logrotate.service: Failed with result 'exit-code'.
– Avamar-palvelimessa on käytössä versio 19.2 ja SLES 12 SP 4:
admin@avamar:~/>: cat /etc/*release* SUSE Linux Enterprise Server 12 (x86_64) VERSION = 12 PATCHLEVEL = 4 # This file is deprecated and will be removed in a future service pack or release. # Please check /etc/os-release for details about this release. NAME="SLES" VERSION="12-SP4" VERSION_ID="12.4" PRETTY_NAME="SUSE Linux Enterprise Server 12 SP4" ID="sles" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:suse:sles:12:sp4"
– Kun hakemisto tarkistetaan suorittamalla komento manuaalisesti, /etc/init.d/apache2 epäonnistuu virheen ”No such file or directory” vuoksi.
admin@avamar:~/>: ls -ltrh /etc/init.d/apache2 ls: cannot access '/etc/init.d/apache2': No such file or directory
原因
Ohjelmistovirhe, jonka vuoksi apache2:n logrotate tarkisti init.d-tiedostoja, joita ei ole SLES 12:ssa.
SLES 11:ssä käytettiin init.d-palvelua, mutta SLES 12:ssa on käytössä systemctl-palvelu.
解決方法
Kiertotapa:
1. Kirjaudu apuohjelmasolmun tai yksittäisen solmun järjestelmään järjestelmänvalvojana ja ryhdy pääkäyttäjäksi.
2. Siirrä nykyinen logrotate-tiedosto sivuun.
mv /etc/logrotate.d/apache2 /tmp
3. Luo tiedosto uudelleen vi-editorilla.
vi /etc/logrotate.d/apache2
4. Kopioi seuraavat rivit esimerkiksi Notepad- tai Notepad++-tekstieditoriin (älä käytä Word- tai Wordpad-ohjelmaa, koska ne lisäävät tekstiin erikoismerkkejä).
/var/log/apache2/access_log /var/log/apache2/ssl_request_log {
compress
dateext
maxage 365
rotate 99
size=+4096k
notifempty
missingok
create 640 wwwrun www
sharedscripts
postrotate
systemctl reload apache2.service
sleep 60
endscript
}
/var/log/apache2/error_log /var/log/apache2/suexec.log /var/log/apache2/ssl_engine_log /var/log/apache2/deflate.log {
compress
dateext
maxage 365
rotate 99
size=+1024k
notifempty
missingok
create 640 wwwrun www
sharedscripts
postrotate
systemctl reload apache2.service
sleep 60
endscript
}
5. Liitä teksti editorista juuri luotuun tiedostoon Avamar-solmussa.
6. Tallenna muutokset.
7. Määritä tiedoston käyttöoikeudet.
chmod 644 /etc/logrotate.d/apache2
8. Testaa logrotate-toiminto pääkäyttäjänä.
logrotate -f /etc/logrotate.conf
Pysyvä korjaus: ongelma korjataan seuraavassa Avamarin versiossa 19.3.
対象製品
Avamar
製品
Avamar, Avamar Server