"Displays usage information.", 'cron' => "Mandatory option with cron", 'verbose|v' => "Affichage de ce qui est fait." )); $opts->parse(); $optsNb = $opts->getOptions(); } catch (Zend_Console_Getopt_Exception $e) { $displayUsage = true; } // --- Aide / Options if ($optsNb == 0 || isset($opts->help)) { $displayUsage = true; } // --- Usage if ($displayUsage) { echo "Clean directories.\n"; echo $opts->getUsageMessage(); exit; } $c = new Zend_Config($application->getOptions()); $db = Zend_Db::factory($c->profil->db->metier); Zend_Db_Table::setDefaultAdapter($db); // --- Parcours des éléments lu dans la table flux_fileout pour suppression des fichiers de plus de 5 jours $dateEnd = new Zend_Date(); $dateEnd->subDay(5); $fluxM = new Application_Model_Sdv1FluxFileOut(); $deleteSql = $fluxM->select() ->where('depotDate BETWEEN "'.date('Ym').'01000000" AND "'.date('Ym').'31235959"') ->where('depotDateRead!=0') ->where('depotDateRead < ?', $dateEnd->toString('YMdHms')); $deleteResult = $fluxM->fetchAll($deleteSql); if (count($deleteResult) > 0) { foreach ($deleteResult as $item) { $path = ''; switch($item->depotType) { case 'FTP': $path = $c->profil->path->ftp; break; case 'SFTP': $path = $c->profil->path->sftp; break; } $path.= '/' . $item->client; if ($item->depotDir == '') { $path.= '/recv'; } else { $path.= '/' . $item->depotDir; } $filename = $path . '/' . $item->fileOut; if (file_exists($filename) && is_file($filename)) { unlink($filename); } } } // --- Parcours des fichiers pour suppression des fichiers de plus de 30 jours $path = array( $c->profil->path->sftp, $c->profil->path->ftp, ); // find $p/ -mindepth 2 -maxdepth 4 -type f ! -regex '.*/\..*' -ctime +30 -exec echo {} \; foreach ($path as $p) { passthru("find $p/ -mindepth 2 -maxdepth 4 -type f ! -regex '.*/\..*' -ctime +30 -exec rm -f {} \;"); }