diff options
author | Mika Havela <mika.havela@gmail.com> | 2007-12-22 09:18:24 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2007-12-22 09:18:24 +0000 |
commit | d93688f0d12c5c7c9f35d4746eef58bac11a144a (patch) | |
tree | a6e5b82eb5694d9c82599808b13e61242ecb0660 /health-model.lua | |
parent | 4062108ee8796ab9f64f05d55cd48352399cd34c (diff) | |
download | acf-alpine-baselayout-d93688f0d12c5c7c9f35d4746eef58bac11a144a.tar.bz2 acf-alpine-baselayout-d93688f0d12c5c7c9f35d4746eef58bac11a144a.tar.xz |
Display general healt on the system
git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@447 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'health-model.lua')
-rw-r--r-- | health-model.lua | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/health-model.lua b/health-model.lua new file mode 100644 index 0000000..e0e2cf3 --- /dev/null +++ b/health-model.lua @@ -0,0 +1,62 @@ +-- 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 |