89 lines
2.6 KiB
PHP
89 lines
2.6 KiB
PHP
<?php
|
|
// --- Define path to application directory
|
|
defined('APPLICATION_PATH')
|
|
|| define('APPLICATION_PATH', realpath(__DIR__ . '/application'));
|
|
|
|
// --- Define application environment
|
|
defined('APPLICATION_ENV')
|
|
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
|
|
|
|
// --- Composer autoload
|
|
require_once realpath(__DIR__ . '/vendor/autoload.php');
|
|
|
|
// --- Create application, bootstrap, and run
|
|
$application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
|
|
|
|
try {
|
|
$opts = new Zend_Console_Getopt(
|
|
//Options
|
|
array(
|
|
'help|?' => "Displays usage information.",
|
|
'cron' => "Mandatory option with cron",
|
|
'verbose|v' => "Affichage de ce qui est fait."
|
|
)
|
|
);
|
|
$opts->parse();
|
|
} catch (Zend_Console_Getopt_Exception $e) {
|
|
echo $e->getUsageMessage();
|
|
exit;
|
|
}
|
|
|
|
//Usage
|
|
if( isset($opts->help) || count($opts->getOptions())==0 )
|
|
{
|
|
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 {} \;");
|
|
}
|
|
|
|
|