addArgument('name', InputArgument::OPTIONAL, 'Name description'); } /** * @param InputInterface $input * @param OutputInterface $output * @return int */ protected function execute(InputInterface $input, OutputInterface $output): int { $dir_arr = [ 'runtime/admin/log/', 'runtime/api/log/', 'runtime/czg/log/', 'runtime/log/', ]; $yestermonth = date("Ym"); // 如果今天是1号 if(date('d') == 01 || date('d') == 1) { $yestermonth = date("Ym", strtotime('-1 month')); } foreach ($dir_arr as $dir_a) { $file_arr = getYesterdayFiles($dir_a . $yestermonth . '/'); if(!empty($file_arr['files'])) { foreach ($file_arr['files'] as $k => $file_p) { $file = $dir_a . $yestermonth . '/' . $file_p; $zip_filename = str_replace('.log', '.zip', $file_p); $file_zip = $dir_a . $yestermonth . '/' . $zip_filename; $is_close = false; if(!file_exists($file_zip)) { $zip = new ZipArchive(); if($zip->open($file_zip, ZipArchive::CREATE) === TRUE) { if(file_exists($file)) { if($zip->addFile($file, $file_p)) { $is_close = true; print_r($file . "\r\n"); } } if ($is_close) { if($zip->close()) { if($is_close) { unlink($file); } } } } } } } } $output->writeln('ok'); return self::SUCCESS; } }