Question

I'm running Magento 2 CE on Ubuntu 16.04. I followed the setup guide pretty closely and everything seems to be working fine from a usability standpoint, but I discovered today that var/log/update.log is 4+ GB and growing fast. Upon further examination it turns out that the file is full of a gazillion lines (they seem to get written once a minute when the cron jobs run) of the form update-cron.ERROR: Cron readiness check failure! Found non-writable paths: followed by a list of some 12,000 paths to which it doesn't have write permission. And it's not lying, when I spot-checked those paths I found that they were in fact not writable by the Magento user.

This seems weird to me, however, because I followed the instructions here for setting filesystem ownership (I'm running on a two-user system), and it seemed perfectly happy with them when it ran its own pre-install filesystem permission check.

Moreover, the paths that update.log is screaming about are all outside of the directories specified in that guide. Most of them are in dev/ (8281 paths), lib/ (3060), and setup/ (831), with a few scattered around elsewhere. All of the top-level files in magento/ itself are also listed. (The full list of paths is here for anyone interested. Bare files are at the top, after that it's sorted alphabetically.)

This leads me to believe that whatever is leaving error messages in update.log simply wants the whole magento/ directory to be writable by the Magento user. If this is necessary, however, why go to all that trouble to just make certain specific files and directories writable?

So to deal with this, should I:

  1. Ignore the error messages, setup logrotate or similar to keep the filesize down, and move on with my life?
  2. Grant write permission to the whole magento/ folder to my Magento user?
  3. Something else that will actually fix the problem instead of just working around it?
Was it helpful?

Solution

The file update.log is written by update/cron.php which is a special cronjob related to the web setup wizard.

  • If you want to use this wizard to install extensions or update Magento from the admin panel, you will need to execute update/cron.php with the file system owner (because to install code, it needs full write permissions).
  • If you don't want to use it, you can just remove the update/cron.php cronjob from your crontab

Related questions:

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top