From 27c3a61c1164d4dbf95a2c688ce3a2b987d9e8eb Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 12 Mar 2009 13:49:22 -0400
Subject: [PATCH] Fixed getmail problem when more then one getmail account exists.
---
install/lib/installer_base.lib.php | 7 +++++--
install/dist/lib/fedora.lib.php | 11 ++++++++---
server/scripts/run-getmail.sh | 9 +++++++++
install/dist/lib/opensuse.lib.php | 11 ++++++++---
4 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index afe3aa0..97eafdc 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -758,6 +758,9 @@
if(!is_dir('/var/log/ispconfig')) mkdir('/var/log/ispconfig');
if(!is_file('/var/log/ispconfig/ispconfig.log')) exec('touch /var/log/ispconfig/ispconfig.log');
+ exec('chown getmail /usr/local/ispconfig/server/scripts/run-getmail.sh');
+ exec('chmod 744 /usr/local/ispconfig/server/scripts/run-getmail.sh');
+
}
@@ -817,11 +820,13 @@
exec('crontab -u getmail -l > crontab.txt');
$existing_cron_jobs = file('crontab.txt');
- $cron_jobs = array('*/5 * * * * '.$cf['program'].' -n -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf &> /dev/null');
-
+ $cron_jobs = array(
+ '*/5 * * * * /usr/local/ispconfig/server/scripts/run-getmail.sh > /dev/null 2>> /var/log/ispconfig/cron.log'
+ );
+
// remove existing ispconfig cronjobs, in case the syntax has changed
foreach($cron_jobs as $key => $val) {
- if(stristr($val,$cf['program'])) unset($existing_cron_jobs[$key]);
+ if(stristr($val,'getmail')) unset($existing_cron_jobs[$key]);
}
foreach($cron_jobs as $cron_job) {
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 9a49d30..b5b9457 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -776,6 +776,9 @@
if(!is_dir('/var/log/ispconfig')) mkdir('/var/log/ispconfig');
if(!is_file('/var/log/ispconfig/ispconfig.log')) exec('touch /var/log/ispconfig/ispconfig.log');
+ exec('chown getmail /usr/local/ispconfig/server/scripts/run-getmail.sh');
+ exec('chmod 744 /usr/local/ispconfig/server/scripts/run-getmail.sh');
+
}
@@ -835,11 +838,13 @@
exec('crontab -u getmail -l > crontab.txt');
$existing_cron_jobs = file('crontab.txt');
- $cron_jobs = array('*/5 * * * * '.$cf['program'].' -n -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf &> /dev/null');
-
+ $cron_jobs = array(
+ '*/5 * * * * /usr/local/ispconfig/server/scripts/run-getmail.sh > /dev/null 2>> /var/log/ispconfig/cron.log'
+ );
+
// remove existing ispconfig cronjobs, in case the syntax has changed
foreach($cron_jobs as $key => $val) {
- if(stristr($val,$cf['program'])) unset($existing_cron_jobs[$key]);
+ if(stristr($val,'getmail')) unset($existing_cron_jobs[$key]);
}
foreach($cron_jobs as $cron_job) {
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 77d0c43..93283fc 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1043,6 +1043,9 @@
if(!is_dir('/var/log/ispconfig')) mkdir('/var/log/ispconfig');
if(!is_file('/var/log/ispconfig/ispconfig.log')) exec('touch /var/log/ispconfig/ispconfig.log');
+ exec('chown getmail /usr/local/ispconfig/server/scripts/run-getmail.sh');
+ exec('chmod 744 /usr/local/ispconfig/server/scripts/run-getmail.sh');
+
}
@@ -1103,12 +1106,12 @@
$existing_cron_jobs = file('crontab.txt');
$cron_jobs = array(
- '*/5 * * * * '.$cf['program'].' -n -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null 2>> /var/log/ispconfig/cron.log'
+ '*/5 * * * * /usr/local/ispconfig/server/scripts/run-getmail.sh > /dev/null 2>> /var/log/ispconfig/cron.log'
);
// remove existing ispconfig cronjobs, in case the syntax has changed
foreach($cron_jobs as $key => $val) {
- if(stristr($val,$cf['program'])) unset($existing_cron_jobs[$key]);
+ if(stristr($val,'getmail')) unset($existing_cron_jobs[$key]);
}
foreach($cron_jobs as $cron_job) {
diff --git a/server/scripts/run-getmail.sh b/server/scripts/run-getmail.sh
new file mode 100644
index 0000000..fab297d
--- /dev/null
+++ b/server/scripts/run-getmail.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+set -e
+cd /etc/getmail
+rcfiles=""
+for file in *.conf ; do
+rcfiles="$rcfiles -r $file"
+done
+#echo $rcfiles
+exec /usr/bin/getmail -n -v -g /etc/getmail $rcfiles
\ No newline at end of file
--
Gitblit v1.9.1