luci/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/crontab.lua
Hannu Nyman 1970c21e3b luci-mod-admin-full: add advice to restart cron
Cron init script starts the service only if a crontab file
exists. If there is no crontab file at boot and the user
later creates one, he needs to manually restart the service.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-08 15:20:13 +03:00

32 lines
898 B
Lua

-- Copyright 2008 Steven Barth <steven@midlink.org>
-- Copyright 2008-2013 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
local fs = require "nixio.fs"
local cronfile = "/etc/crontabs/root"
f = SimpleForm("crontab", translate("Scheduled Tasks"),
translate("This is the system crontab in which scheduled tasks can be defined.") ..
translate("<br/>Note: you need to manually restart the cron service if the " ..
"crontab file was empty before editing."))
t = f:field(TextValue, "crons")
t.rmempty = true
t.rows = 10
function t.cfgvalue()
return fs.readfile(cronfile) or ""
end
function f.handle(self, state, data)
if state == FORM_VALID then
if data.crons then
fs.writefile(cronfile, data.crons:gsub("\r\n", "\n"))
luci.sys.call("/usr/bin/crontab %q" % cronfile)
else
fs.writefile(cronfile, "")
end
end
return true
end
return f