MEMPERBARUI:
Saya akhirnya menggunakan utilitas logrotate untuk menangani file log yang terus tumbuh. Saya juga mengatur beberapa tugas cron yang akan memeriksa file sementara yang tidak dibutuhkan dari waktu ke waktu.
Saya memiliki cron Magento 2 standar yang dikonfigurasi dan dijalankan. Setelah dua hari, saya mengalami beberapa masalah saat menjalankan beberapa tindakan di panel Admin. Ketika saya memeriksa log server, saya menemukan bahwa itu adalah masalah ruang disk. Setelah diselidiki lebih lanjut, saya mengetahui bahwa ini update.log.txt
adalah pelakunya. Ukuran file meningkat> 1MB setiap menit. Ada saatnya mencapai lebih dari 20GB.
Apakah normal untuk pengaturan Magento 2 standar? Atau bisakah & bagaimana saya bisa menonaktifkannya atau setidaknya menguranginya?
Ini terjadi pada mode pengembang dan produksi.
Pengaturan Cron didasarkan pada panduan ini .
Tab 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
ISI SAMPEL LOG
/var/www/html/setup/src/Magento/Setup/Console/Command/I18nCollectPhrasesCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/MaintenanceStatusCommand.php / var / www / har / www) /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/htup/src/Magento/Setup/Console/Command/InstallConfiguration.configuration / www / html / setup / src / Magento / Setup / Console / Command / InfoBackupsListCommand.php /var/www/html/setup/src/Magento/Setup/Console/Command/MaintenanceDisableCommand.php /var/www/ht//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/htup/src/Magento/Setup/Fixture/CategoriesFixture.php / var / www / html / setup / src / Magento / Setup / Jadwal / 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/htup/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 / profil / var / www / html / setup / performance-toolkit / profil / 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 / kinerja -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 / profil / var / www / html / setup / performance-toolkit / profil / ce / var / www / html / setup / kinerja -toolkit / profil / 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 / profil / var / www / html / setup / performance-toolkit / profil / ce / var / www / html / setup / kinerja -toolkit / profil / 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 / profil / var / www / html / setup / performance-toolkit / profil / 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/htup/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 / profil / var / www / html / setup / performance-toolkit / profil / 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/htup/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 / profil / var / www / html / setup / performance-toolkit / profil / ce / var / www / html / setup / performance-toolkit / profil / ce / besar. 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 / profil / 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 / profil / var / www / html / setup / performance-toolkit / profil / ce / var / www / html / setup / performance-toolkit / profil / ce / besar. 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 / profil / 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 [] []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 [] []
Saya menemukan beberapa tempat di mana log ini mungkin dihasilkan / diperbarui:
<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';
MEMPERBARUI:
Saya akhirnya menggunakan utilitas logrotate untuk menangani file log yang terus tumbuh. Saya juga mengatur beberapa tugas cron yang akan memeriksa file sementara yang tidak dibutuhkan dari waktu ke waktu.
Jawaban:
Sejauh yang saya tahu,
var/log/update.log
file tersebut memang digunakan dengan cron.Dinyatakan dalam
\setup\src\Magento\Setup\Model\Cron\Status.php
Dan kemudian diambil melalui
getLogFilePath()
metode ini.Jika Anda memeriksa di mana metode ini dipanggil, itu berada di bawah
\setup\src\Magento\Setup\Model\Cron\JobFactory.php
:Kemudian
$streamOutput
variabel dilewatkan sebagai parameter ke kelas pekerjaan, misalnya:Jika saya terus menggunakan contoh ini,
$this->output
digunakan dalamexecute()
metode:The
run()
dideklarasikan divendor\symfony\console\Symfony\Component\Console\Command\Command.php
The
$output
variabel kemudian digunakan di beberapa tempat seperti:Sebaik :
Satu lagi yang menarik:
Menurut kode terakhir ini, beberapa hal dapat ditulis jika parameternya sangat verbose. Mungkin Anda mengatur pekerjaan cron Anda
-vv
dan itulah sebabnya hal-hal semakin dicatat.Ini bukan jawaban yang pasti, tetapi Anda harus mengikuti jejak tumpukan yang baru saja saya berikan kepada Anda untuk menyelidiki masalah ini.
sumber
Anda mungkin menetapkan izin yang salah pada beberapa folder. / perbarui / cron mendaftar semua folder dengan izin salah
Cara mudah hanyalah berkomentar di pembaruan dan pengaturan crontab
Anda tidak memerlukannya jika Anda tidak perlu memperbarui dan menginstal dari panel admin.
Itu ide berbahaya untuk server produksi. Anda dapat memperbarui secara manual melalui komposer pada server uji / lokal; menguji; kemudian salin pembaruan ke server produksi.
Yang Anda butuhkan adalah
Ia mengelola "pengindeks, mengirim email otomatis, menghasilkan peta situs, dan sebagainya" - seperti yang dijelaskan dalam devdocs
sumber
/var/log/update.log
adalah file log cron dan masalah ini terutama muncul ketika Anda memiliki filepermission issue
. "Inilah yang saya dapat dalam kasus saya ketika saya membuka file itu."dan ini bisa menjadi perbaikannya: https://community.bitnami.com/t/update-log-file-grows-rapidly-in-magento-2-1-1/49253/6
Anda perlu mengatur izin dan kepemilikan yang benar untuk direktori dan file Magento Anda.
sumber
Seperti yang saya tahu
update.log
adalah file log kustom Anda karena Magento 2 menghasilkan log file jenis iniSaya tidak yakin mengapa ini menghasilkan begitu banyak data log di file Anda mungkin ada beberapa kesalahan sintaks atau sesuatu seperti itu.
Tapi saya sarankan hanya mencari dengan
update.log
dengan di direktori kode Magento 2 Anda dan menghapus log itu dari kode Anda.sumber