Logrotate failing for apache logs
I've just rebuild my server and now it appears that logrotate is failing
for apache:
wolverine:/var/log# logrotate /etc/logrotate.d/apache
error running shared postrotate script for /var/log/apache/*.log
I've run the above command through strace and it looks like logrotate
creates a file in /tmp and writes out a shell script to restart apache.
I've tried recreating the script by hand and executing it from the
command line, and it appears to work (echo $? displays 0). So what
could be wrong?
Relevant part of strace's output:
open("/tmp/logrotate.97X4bM", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 3
fchmod(3, 0700) = 0
write(3, "#!/bin/sh\n\n", 11) = 11
write(3, "\n\t\t/etc/init.d/apache reload > /"..., 41) = 41
close(3) = 0
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
fork() = 15909
wait4(15909, [WIFEXITED(s) && WEXITSTATUS(s) == 1], 0, NULL) = 15909
rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) ---
unlink("/tmp/logrotate.97X4bM") = 0
write(2, "error running shared postrotate "..., 66error running shared
postrotate script for /var/log/apache/*.log
) = 66
Reply to: