-- acf model for displaying logfiles recusivly module (..., package.seeall) require("fs") require("date") -- ############################################################### -- Private functions local function querycmd ( cmdline ) local cmd = io.popen( cmdline ) local cmd_result = cmd:read("*a") or "unknown" cmd:close() return cmd_result end local function diskfree ( media ) if not (media) then media = "" end local cmd = io.popen( "df -h " .. media ) local cmd_result = cmd:read("*a") or "unknown" cmd:close() return cmd_result end -- ############################################################### -- Public functions get_system = function (self) local system = {} system.uptime = querycmd("/usr/bin/uptime") system.date = querycmd("/bin/date") system.timezone = date.what_tz() system.uname = querycmd("/bin/uname -a") system.memory = querycmd("/usr/bin/free") return system end get_storage = function (self) local storage = {} storage.floppycapacity = diskfree("/media/floppy") storage.hdcapacity = diskfree() storage.partitions = fs.read_file("/proc/partitions") return storage end get_network = function (self) local network = {} network.interfaces = querycmd("/sbin/ifconfig") network.routes = querycmd("/sbin/route") return network end get_modules = function (self) local modules = {} modules.list = querycmd("/sbin/lsmod") return modules end get_proc = function (self) local proc = {} proc.processor = fs.read_file("/proc/cpuinfo") proc.memory = fs.read_file("/proc/meminfo") return proc end