Cari tahu mengapa Apache berhenti berjalan setiap Minggu pagi

0

Saya sudah mengatur Apache di Ubuntu 16.04.4 LTS.

Untuk beberapa alasan, pada waktu yang hampir bersamaan setiap Minggu pagi, Apache berhenti berjalan.

Ketika berhenti, saya kemudian lari systemctl status apache2 Dan lihat:

Mar 04 06:25:24 xxxxxx apache2[11178]:  * Stopping Apache httpd web server apache2

Jadi, entah bagaimana Apache dihentikan. Ketika dihentikan, tidak ada apa-apa di dalamnya /var/log/apache2/error.log. Ketika saya memulai Apache lagi saya melihat:

[Sun Mar 04 09:44:10.875444 2018] [core:warn] [pid 22442:tid 140355746498432] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?

Dari /var/log/syslog tampaknya Apache dimuat ulang (juga ProFTPD) dan kemudian dihentikan pada 06:25:24:

Mar  4 06:25:11 xxxxxx systemd[1]: Reloading LSB: Apache2 web server.
Mar  4 06:25:11 xxxxxx apache2[11014]:  * Reloading Apache httpd web server apache2
Mar  4 06:25:11 xxxxxx apache2[11014]:  *
Mar  4 06:25:11 xxxxxx systemd[1]: Reloaded LSB: Apache2 web server.
Mar  4 06:25:18 xxxxxx systemd[1]: Stopping LSB: Starts ProFTPD daemon...
Mar  4 06:25:18 xxxxxx proftpd[11083]:  * Stopping ftp server proftpd
Mar  4 06:25:18 xxxxxx proftpd[11083]:    ...done.
Mar  4 06:25:18 xxxxxx systemd[1]: Stopped LSB: Starts ProFTPD daemon.
Mar  4 06:25:18 xxxxxx systemd[1]: Starting LSB: Starts ProFTPD daemon...
Mar  4 06:25:18 xxxxxx proftpd[11094]:  * Starting ftp server proftpd
Mar  4 06:25:18 xxxxxx proftpd[11094]: 2018-03-04 06:25:18,666 xxxxxx proftpd[11104]: mod_dso/0.5: module 'mod_tls.c' already loaded
Mar  4 06:25:18 xxxxxx proftpd[11094]: 2018-03-04 06:25:18,667 xxxxxx proftpd[11104]: mod_dso/0.5: module 'mod_sftp.c' already loaded
Mar  4 06:25:19 xxxxxx proftpd[11094]:    ...done.
Mar  4 06:25:19 xxxxxx systemd[1]: Started LSB: Starts ProFTPD daemon.
Mar  4 06:25:24 xxxxxx apache2[11178]:  * Stopping Apache httpd web server apache2
Mar  4 06:25:24 xxxxxx apache2[11178]:  *

Bagaimana saya mengetahui mengapa Apache berhenti, atau proses apa yang menghentikan Apache (untuk alasan apa) sehingga saya dapat mencegahnya terjadi lagi?

Werner
sumber
Ada yang berjalan pada hari Minggu pagi (Crontab? Pembersihan tabel DB?)? Berapa banyak memori bebas yang biasanya Anda dapatkan?
xenoid
Biasanya sekitar 4GB bebas memori. Tidak ada pekerjaan cron yang dikonfigurasi secara khusus untuk hari Minggu.
Werner
sesuatu yang aneh di / var / log / syslog?
pim
Saya mengedit pertanyaan dengan menambahkan /var/log/syslog entri ...
Werner
Sementara itu, mungkin menulis skrip untuk memeriksa apakah skrip berjalan dan jika tidak mengirimi Anda email lalu mulai layanan. Jalankan sesuatu seperti for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done dan lihat apa yang Anda lihat di sana. Lihat juga systemctl list-timers --all
Pimp Juice IT

Jawaban:

1

Masalahnya disebabkan oleh logrotate, yang menghentikan Apache saat memutar log.

Masalahnya diselesaikan dengan mengedit /etc/logrotate.d/apache2, berubah reload untuk graceful.

Asli:

postrotate
            if /etc/init.d/apache2 status > /dev/null ; then \
                /etc/init.d/apache2 reload > /dev/null; \
            fi;
endscript

Diedit:

postrotate
            if /etc/init.d/apache2 status > /dev/null ; then \
                /etc/init.d/apache2 graceful > /dev/null; \
            fi;
endscript
Werner
sumber