tbrehm
2009-03-12 27c3a61c1164d4dbf95a2c688ce3a2b987d9e8eb
Fixed getmail problem when more then one getmail account exists.
1 files added
3 files modified
38 ■■■■ changed files
install/dist/lib/fedora.lib.php 11 ●●●● patch | view | raw | blame | history
install/dist/lib/opensuse.lib.php 11 ●●●● patch | view | raw | blame | history
install/lib/installer_base.lib.php 7 ●●●● patch | view | raw | blame | history
server/scripts/run-getmail.sh 9 ●●●●● patch | view | raw | blame | history
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) {
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) {
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) {
server/scripts/run-getmail.sh
New file
@@ -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