diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index afe3aa071417b7bc66d403e03a66d4dcca09e29f..97eafdcaa712ec986e9b60015f3d659a8e631fc9 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -758,6 +758,9 @@ class installer_dist extends installer_base { 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 @@ class installer_dist extends installer_base { 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 9a49d30513d17a7dde3ff995a28b9b48e03838a4..b5b945709e967a3965d54f7563253d049091acbd 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -776,6 +776,9 @@ class installer_dist extends installer_base { 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 @@ class installer_dist extends installer_base { 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 77d0c4371599f3665d86658a1d5ba83e24cd7a2c..93283fc1209ecdabdb79bc5151b5b6a08995b63b 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -1043,6 +1043,9 @@ class installer_base { 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 @@ class installer_base { $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 0000000000000000000000000000000000000000..fab297dd19ea953f5fd093df35377a9029150867 --- /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