exim.pl deleted & cppop failing after Cpanel update

myBox

Active Member
Jan 6, 2004
40
0
156
The is the third time this happens to me damn it!!

Yo cpnick, do some checking after the update process!! for gods sake!

I'm starting to hate you for this!!!

this problem is scewing the whole email system.

setting exim.pl +i is not a solution!!! but fixing this bug is the solution.

the /scripts/chkexim.pl doesnt help at all, I wonder why this script has that name then!


ALL CPANEL USERS: KEEP A BACKUP COPY OF YOU exim.pl IN A SAFE PLACE JUST IN CASE CPANEL SCREWS UP AGAIN!

I am running the latest release and just updated today to the latest version also using redhat 9.

since this update and cppop is failing and do not know why! anyone came across smilar problem?
 

myBox

Active Member
Jan 6, 2004
40
0
156
Solution

still having this problem from time to time with no explanation.

so to fight this and end it for good I have create a script to check for the exim.pl file and if it doen not exist it will copy it and restart exim. it will also send you an email to alert you of the issue even though it will correct it. but you will have a count on how much often this happens. the email will have the date and the process list so you can check what was running in the background at that moment.

no more mail down because of this crazy issue for me.

i hope this helps somebody.

first you have to keep a backup copy of /etc/exim.pl in /root
you can adjust the paths as you see fit.

Code:
#!/bin/bash

# Creation date: Sep 9th, 2005
#
# Purpose: check for /etc/exim.pl existance, if not found copy it and restart exim.
# then send email to root about the incedent.
#

if [ ! -e /etc/exim.pl ]; then
 cp -p /root/exim.pl /etc/exim.pl
 /sbin/service exim restart
 echo "`date`\n\n `/bin/ps -aux`" | mail -s "WARNING: exim.pl was deleted." root
 echo " exim.pl does not exist."
fi

exit
add a cron job to run this script every 2 minutes or whatever you like.

:D
 

chirpy

Well-Known Member
Verifed Vendor
Jun 15, 2002
13,437
33
473
Go on, have a guess
IIRC, the usualy cause for exim.pl disappearing is if someone has mistakenly added a chattr flag to any of the exim configuration files, as that fill cause exim updates to fail in mid-update.
 

jondolar

Well-Known Member
Feb 15, 2004
46
0
156
This was very strange. I was getting the following erros in exim_paniclog:
Code:
2006-04-17 11:58:18 failed to expand condition "${perl{check_deliver_spam}{$domain}{$local_part}}" for virtual_user_spam router: Undefined subroutine &main::check_deliver_spam call
ed.

2006-04-17 11:58:18 failed to expand condition "${perl{checkbx_deliver}{$domain}{$local_part}}" for virtual_boxtraper_user router: Undefined subroutine &main::checkbx_deliver calle
d.

2006-04-17 11:58:18 failed to expand condition "${perl{check_deliver}{$domain}{$local_part}}" for virtual_user router: Undefined subroutine &main::check_deliver called.

2006-04-17 11:58:18 failed to expand condition "${perl{democheck}}" for democheck router: Undefined subroutine &main::democheck called.
I would run /scripts/eximup --force and the problem would go away for a while and then come back.

Of course, once the problem came back nobody could send/receive emails. I couldn't figure it out. I paid for telephone support from cPanel and found out that my /etc/exim.pl file was missing. They restored it. However, about 1 hour later the problem appeared again. The file was missing. I finally found out that there was a cron job running on the server that was deleting the file and replacing it with another file every hour. That other file did not exist on the system. I inherited this server so the cron job was probably there from the prevoius admin and I didn't notice it.

Anyway, problem fixed for me. Restored the exim.pl file and deleted the cron job and everything is fine.

I doubt if anybody will have this exact same problem but if you do get the errors above at least check to see if the /etc/exim.pl file exists and if not, run /scripts/eximup --force.