gluon-autoupdater: introduce uci value gluon.autoupdater.minute

This commit is contained in:
kb-light 2017-11-22 21:31:59 +01:00
parent 0cb4cfdadf
commit e32ed70896

View File

@ -41,11 +41,16 @@ local seed1, seed2 = urandom:read(2):byte(1, 2)
math.randomseed(seed1*0x100 + seed2) math.randomseed(seed1*0x100 + seed2)
urandom:close() urandom:close()
-- Perform updates at a random time between 04:00 and 05:00, and once an hour -- Perform updates at a random time between 04:00 and 05:00 in case no specific
-- a fallback update (used after the regular updates haven't worked for -- time is specified (gluon.autoupdater.minute), and once an hour a fallback
-- (priority+1) days after a firmware release, for example because the node -- update (used after the regular updates haven't worked for (priority+1) days
-- is always offline at night) -- after a firmware release, for example because the node is always offline at
local minute = math.random(0, 59) -- night)
if not uci:get('gluon', 'autoupdater') then
uci:section('gluon', 'autoupdater', 'autoupdater')
uci:save('gluon')
end
local minute = uci:get('gluon', 'autoupdater', 'minute') or math.random(0, 59)
local f = io.open('/usr/lib/micron.d/autoupdater', 'w') local f = io.open('/usr/lib/micron.d/autoupdater', 'w')
f:write(string.format('%i 4 * * * /usr/sbin/autoupdater\n', minute)) f:write(string.format('%i 4 * * * /usr/sbin/autoupdater\n', minute))