Iām using Nextcloud 27.0.1 on the following stack:
PHP: 8.0.13
OS: Rocky Linux 9.2
Web server: Apache 2.4.51
I want to clarify the behavior of this setting in my config.php:
āmaintenance_window_startā => 1,
According to the Nextcloud documentation, this defines the start hour of a maintenance window during which background jobs (like updates) run ā supposedly in UTC.
However, my server is set to the Asia/Kolkata timezone (IST), and when checking logs, I see maintenance/background jobs are running around 1:00 AM IST, which suggests the system might be using server local time instead of UTC. My Questions:
In Nextcloud 27.0.1, is the 'maintenance_window_start' value interpreted in UTC or server local time (IST)?
If it's in UTC, then should I adjust the value (e.g., set 20 to get 1:00 AM IST)?
Is there a recommended way to confirm this from logs like nextcloud.log or cron output?
Has this behavior changed in newer versions?
Thanks in advance for any help in clarifying this behavior.
Are you sure that this āPrivacy ā Where is your dataā setting actually does anything functional on the server, apart from simply showing users where the admin claims the server is located?
Iāve actually been wondering about the maintenance_window_start option for a while. Does it really always use UTC (as the documentation suggests), or does this depend on other factors, such as the system time zone, the time zone setting in php.ini or maybe even the āWhere is your dataā setting"?
Iād also be interested to know which exact jobs are affected by this setting (yeah I know, this could probably be found in the code, but Iām not a coder), whether theyāre logged and, if so, at which log level. This would allow me to determine if and when they are actually executed.
Me neither, but to be honest, Iāve also never really been able to confirm that it actually works that way, and OPās post made me a bit unsure again.
The question wasnāt directed only at you anyway, but it would be nice if somoene could provide some insight.
Itās mostly out of curiosity. For us, it doesnāt really make much of a difference anyway. Like you, I live in the UTC+1 timezone (UTC+2 during summer), and Iāve configured it to 0. So whether those maintenance jobs run at midnight, 1 a.m., or 2 a.m. doesnāt matter much to me, but it would still be interesting to know.
as far as I can recall, the compulsory maintenance window configuration only arrived in v30. so Iām assuming on that old unsupported version, any configuration will fail regardless?
You can see the expected value by running the code in isolation here:
Keep in mind this setting doesnāt mean all background jobs will run at the specified time. Just the ones that have specified themselves to not be time sensitive.