Select Git revision
cron_sync_packages.php
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";
?>