Skip to content
Snippets Groups Projects
Select Git revision
  • 1ea388c0eedcae9d4dade7ff119a676402b6bdc5
  • master default protected
  • Legacy_Php7
3 results

cron_sync_packages.php

Blame
  • cron_sync_packages.php 1.61 KiB
    <?php
        /**
         * 
         * FOR CRONJOB
         * sync archive files
         * 
         */
    
        require_once(dirname(__DIR__)."/public_html/deployment/config/inc_projects_config.php");
        
        echo "\n========= SYNC archive files ==========\n";
        
        if (array_key_exists('mirrorPackages', $aConfig) && count($aConfig['mirrorPackages']) ){
            foreach (array_keys($aConfig["phases"]) as $sPhase){
                echo "\n\n===== phase $sPhase \n";
                foreach($aConfig['mirrorPackages'] as $sLabel=>$aTarget){
                    echo "--- $sLabel\n";
                    if (array_key_exists('type', $aTarget)){
                        $sCmd=false;
                        $sSource=$aConfig["packageDir"]."/$sPhase/*";
                        $sTarget=$aTarget['target']."/$sPhase";
                        switch ($aTarget['type']) {
                            case 'rsync':
                                $sCmd="ls -l $sSource 2>/dev/null && /usr/bin/rsync --delete -rLv  $sSource $sTarget";
                                break;
                            default:
                                echo "ERROR: type ".$aTarget['type']." ist not supported (yet) - skipping.";
                                break;
                        } // switch
                        if ($sCmd) {
                            if ($aTarget['runas']) {
                                $sCmd="su - " . $aTarget['runas'] . " -c \"" . $sCmd . "\"";
                            }
                            echo "\$ $sCmd\n";
                            $sOut=shell_exec($sCmd);
                            echo $sOut;
                        }
                    }
                } // foreach
            } // foreach
        }
        echo "\n\ndone.\n";
    ?>