ACTUALIZAR:
Terminé usando la utilidad logrotate para manejar los archivos de registro cada vez mayores. También he configurado algunos trabajos cron que verificarán los archivos temporales innecesarios de vez en cuando.
Tengo el cron Magento 2 estándar configurado y ejecutándose. Después de dos días, encontré algunos problemas al ejecutar algunas acciones en el panel de administración. Cuando revisé los registros del servidor, descubrí que se trataba de un problema de espacio en disco. Después de una investigación más profunda, descubrí que este update.log.txt
es el culpable. El tamaño del archivo aumentaba en> 1 MB por minuto. Hubo un tiempo en que alcanzó más de 20 GB.
¿Es normal para una configuración estándar de Magento 2? ¿O puedo y cómo puedo desactivarlo o al menos minimizarlo?
Le sucede tanto al desarrollador como al modo de producción.
La configuración de Cron se basó en esta guía .
Pestaña Cron:
* * * * * <path to php binary> <magento install dir>/bin/magento cron:run | grep -v "Ran jobs by schedule" >> <magento install dir>/var/log/magento.cron.log
* * * * * <path to php binary> <magento install dir>/update/cron.php >> <magento install dir>/var/log/update.cron.log
* * * * * <path to php binary> <magento install dir>/bin/magento setup:cron:run >> <magento install dir>/var/log/setup.cron.log
CONTENIDO DE MUESTRA DEL REGISTRO
/var/www/html/setup/src/Magento/Setup/Console/Command/I18nCollectPhrasesCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/MaintenanceStatusCommand.php / var / www / html /setup/src/Magento/Setup/Console/Command/BackupCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/DependenciesShowFrameworkCommand.php / var / www / html / setup / src / Magento /Setup/Console/Command/UninstallCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/InfoTimezoneListCommand.php / var / www / html / setup / src / Magento / Setup / Console / Command /MaintenanceAllowIpsCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/InstallStoreConfigurationCommand.php / var. / www / html / setup / src / Magento / Setup / Console / Command / InfoBackupsListCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/MaintenanceDisableCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/DiCompileCommand.php / var / www / html / setup / src / Magento / Setup / Console / Command / InstallCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/UpgradeCommand.php / var / www / html / setup / src / Magento / Setup / Fixtures / IndexersStatesApplyFixture.php /var/www/html/setup/src/Magento/Setup/Fixtures/StoresFixture.php /var/www/html/setup/src/Magento/Setup/Fixtures/CategoriesFixture.php / var / www / html / setup / src / Magento / Setup / Fixtures / SimpleProductsFixture.php /var/www/html/setup/src/Magento/Setup/Fixtures/tax_rates.csv / var / www / html / setup / src / Magento / Setup / Validator / var / www / html / setup / src / Magento / Setup / Validator / DbValidator.php /var/www/html/setup/src/Magento/Setup/Validator/IpValidator.php /var/www/html/setup/src/Magento/Setup/Validator/AdminCredentialsValidator.php / var / www / html / setup / index.php / var / www / html / setup / performance-toolkit /var/www/html/setup/performance-toolkit/.htaccess / var / www / html / setup / performance-toolkit / profiles / var / www / html / setup / performance-toolkit / profiles / ce /var/www/html/setup/performance-toolkit/profiles/ce/large.xml /var/www/html/setup/performance-toolkit/profiles/ce/small.xml /var/www/html/setup/performance-toolkit/profiles/ce/medium.xml /var/www/html/setup/performance-toolkit/profiles/ce/extra_large.xml / var / www / html / setup / performance -toolkit / README.txt /var/www/html/setup/performance-toolkit/benchmark.jmx /var/www/html/vendor/.htaccess [] []php /var/www/html/setup/src/Magento/Setup/Validator/AdminCredentialsValidator.php /var/www/html/setup/index.php / var / www / html / setup / performance-toolkit / var / www / html / setup / performance-toolkit / .htaccess / var / www / html / setup / performance-toolkit / profiles / var / www / html / setup / performance-toolkit / profiles / ce / var / www / html / setup / performance -toolkit / profiles / ce / large.xml /var/www/html/setup/performance-toolkit/profiles/ce/small.xml /var/www/html/setup/performance-toolkit/profiles/ce/medium.xml /var/www/html/setup/performance-toolkit/profiles/ce/extra_large.xml /var/www/html/setup/performance-toolkit/README.txt / var / www / html / setup / performance-toolkit / benchmark .jmx /var/www/html/vendor/.htaccess [] []php /var/www/html/setup/src/Magento/Setup/Validator/AdminCredentialsValidator.php /var/www/html/setup/index.php / var / www / html / setup / performance-toolkit / var / www / html / setup / performance-toolkit / .htaccess / var / www / html / setup / performance-toolkit / profiles / var / www / html / setup / performance-toolkit / profiles / ce / var / www / html / setup / performance -toolkit / profiles / ce / large.xml /var/www/html/setup/performance-toolkit/profiles/ce/small.xml /var/www/html/setup/performance-toolkit/profiles/ce/medium.xml /var/www/html/setup/performance-toolkit/profiles/ce/extra_large.xml /var/www/html/setup/performance-toolkit/README.txt / var / www / html / setup / performance-toolkit / benchmark .jmx /var/www/html/vendor/.htaccess [] []php / var / www / html / setup / performance-toolkit /var/www/html/setup/performance-toolkit/.htaccess / var / www / html / setup / performance-toolkit / profiles / var / www / html / setup / performance-toolkit / profiles / ce /var/www/html/setup/performance-toolkit/profiles/ce/large.xml /var/www/html/setup/performance-toolkit/profiles/ce/small.xml / var /www/html/setup/performance-toolkit/profiles/ce/medium.xml /var/www/html/setup/performance-toolkit/profiles/ce/extra_large.xml / var / www / html / setup / performance-toolkit /README.txt /var/www/html/setup/performance-toolkit/benchmark.jmx /var/www/html/vendor/.htaccess [] []php / var / www / html / setup / performance-toolkit /var/www/html/setup/performance-toolkit/.htaccess / var / www / html / setup / performance-toolkit / profiles / var / www / html / setup / performance-toolkit / profiles / ce /var/www/html/setup/performance-toolkit/profiles/ce/large.xml /var/www/html/setup/performance-toolkit/profiles/ce/small.xml / var /www/html/setup/performance-toolkit/profiles/ce/medium.xml /var/www/html/setup/performance-toolkit/profiles/ce/extra_large.xml / var / www / html / setup / performance-toolkit /README.txt /var/www/html/setup/performance-toolkit/benchmark.jmx /var/www/html/vendor/.htaccess [] []htaccess / var / www / html / setup / performance-toolkit / profiles / var / www / html / setup / performance-toolkit / profiles / ce / var / www / html / setup / performance-toolkit / profiles / ce / large. xml /var/www/html/setup/performance-toolkit/profiles/ce/small.xml /var/www/html/setup/performance-toolkit/profiles/ce/medium.xml / var / www / html / setup / performance-toolkit / profiles / ce / extra_large.xml /var/www/html/setup/performance-toolkit/README.txt /var/www/html/setup/performance-toolkit/benchmark.jmx / var / www / html / proveedor / .htaccess [] []htaccess / var / www / html / setup / performance-toolkit / profiles / var / www / html / setup / performance-toolkit / profiles / ce / var / www / html / setup / performance-toolkit / profiles / ce / large. xml /var/www/html/setup/performance-toolkit/profiles/ce/small.xml /var/www/html/setup/performance-toolkit/profiles/ce/medium.xml / var / www / html / setup / performance-toolkit / profiles / ce / extra_large.xml /var/www/html/setup/performance-toolkit/README.txt /var/www/html/setup/performance-toolkit/benchmark.jmx / var / www / html / proveedor / .htaccess [] []txt /var/www/html/setup/performance-toolkit/benchmark.jmx /var/www/html/vendor/.htaccess [] []txt /var/www/html/setup/performance-toolkit/benchmark.jmx /var/www/html/vendor/.htaccess [] []
Encontré pocos lugares donde este registro podría ser generado / actualizado:
<INSTALL_DIR>setup\src\Magento\Setup\Console\Command\CronRunCommand.php:
75 protected function execute(InputInterface $input, OutputInterface $output)
76 {
77: $notification = 'setup-cron: Please check var/log/update.log for execution summary.';
78
79 if (!$this->deploymentConfig->isAvailable()) {
<INSTALL_DIR>setup\src\Magento\Setup\Model\Cron\ReadinessCheck.php:
164 $write->writeFile(self::SETUP_CRON_JOB_STATUS_FILE, $resultJson);
165
166: // write to permanent log file, var/log/update.log
167 foreach ($errorLogMessages as $errorLog) {
168 $this->status->add($errorLog, \Psr\Log\LogLevel::ERROR, false);
<INSTALL_DIR>setup\src\Magento\Setup\Model\Cron\SetupLoggerFactory.php:
22 {
23 $logger = new \Monolog\Logger($channelName);
24: $path = BP . '/var/log/update.log';
25 $logger->pushHandler(new \Monolog\Handler\StreamHandler($path));
26 return $logger;
<INSTALL_DIR>setup\src\Magento\Setup\Model\Cron\SetupStreamHandler.php:
17 * @var string
18 */
19: protected $fileName = '/var/log/update.log';
20
21 /**
<INSTALL_DIR>setup\src\Magento\Setup\Model\Cron\Status.php:
81 $this->varReaderWriter = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
82 $this->statusFilePath = $statusFilePath ? $statusFilePath : '.update_status.txt';
83: $this->logFilePath = $logFilePath ? $logFilePath : DirectoryList::LOG . '/update.log';
84 $this->updateInProgressFlagFilePath = $updateInProgressFlagFilePath
85 ? $updateInProgressFlagFilePath
<INSTALL_DIR>setup\src\Magento\Setup\Test\Unit\Model\Cron\StatusTest.php:
71 $this->varReaderWriter->expects($this->any())
72 ->method('getAbsolutePath')
73: ->with('log/update.log')
74: ->willReturn('DIR/var/log/update.log');
75: $this->assertEquals('DIR/var/log/update.log', $this->status->getLogFilePath());
76 }
77
<INSTALL_DIR>update\app\code\Magento\Update\CronReadinessCheck.php:
16 const CRON_JOB_STATUS_FILE = '.update_cronjob_status';
17
18: const UPDATE_CRON_LOG_FILE = 'var/log/update.log';
19
20 /**#@+
..
91 file_put_contents(MAGENTO_BP . '/var/' . self::CRON_JOB_STATUS_FILE, $resultJson);
92
93: // If non-accessible paths are found, log an 'error' entry for the same in update.log
94 if ( !$success && !empty($outputString) ) {
95 $updateLoggerFactory = new UpdateLoggerFactory();
<INSTALL_DIR>update\app\code\Magento\Update\Status.php:
67 ) {
68 $this->statusFilePath = $statusFilePath ? $statusFilePath : MAGENTO_BP . '/var/.update_status.txt';
69: $this->logFilePath = $logFilePath ? $logFilePath : MAGENTO_BP . '/var/log/update.log';
70 $this->updateInProgressFlagFilePath = $updateInProgressFlagFilePath
71 ? $updateInProgressFlagFilePath
<INSTALL_DIR>update\app\code\Magento\Update\UpdateLoggerFactory.php:
29 */
30 public function __construct(
31: $logFile = '/var/log/update.log',
32 $channelName = 'update-cron'
33 ) {
<INSTALL_DIR>update\cron.php:
15 $status = new \Magento\Update\Status();
16 $cronReadinessChecker = new \Magento\Update\CronReadinessCheck();
17: $notification = 'update-cron: Please check var/log/update.log for execution summary.' . PHP_EOL;
18
19 if (!$cronReadinessChecker->runReadinessCheck()) {
<INSTALL_DIR>update\dev\tests\integration\testsuite\Magento\Update\StatusTest.php:
43 $this->statusFilePath = __DIR__ . '/_files/update_status.txt';
44 $this->tmpStatusFilePath = TESTS_TEMP_DIR . '/update_status.txt';
45: $this->tmpStatusLogFilePath = TESTS_TEMP_DIR . '/update.log';
46 $this->updateInProgressFlagFilePath = TESTS_TEMP_DIR . '/update_in_progress.flag';
47 $this->updateErrorFlagFilePath = TESTS_TEMP_DIR . '/update_error.flag';
ACTUALIZAR:
Terminé usando la utilidad logrotate para manejar los archivos de registro cada vez mayores. También he configurado algunos trabajos cron que verificarán los archivos temporales innecesarios de vez en cuando.