Sponsored Content
Top Forums Shell Programming and Scripting Need help on Linux script to monitor hard drive space Post 302394191 by wgreg23 on Wednesday 10th of February 2010 05:45:55 PM
Old 02-10-2010
Quote:
Originally Posted by wbathurs
You can try forcing the issue this way:

Code:
# First declare usep as an integer
typeset -i usep 
usep=$(echo $output | awk ' { print $1 }' | cut -d'%' -f1 )

That seems to have worked. Thanks.

Just out of curiosity, do you have any idea why it didn't work as originally scripted? It seems to me that it should have evaluated out to an integer so I'm not understanding what went wrong.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Format Hard Drive in Linux

What Command do I need to use to Format my hard Drive in Linux. Please help me out. -Regards -Iftikhar:) (2 Replies)
Discussion started by: syedifti
2 Replies

2. UNIX for Dummies Questions & Answers

Re-allocating hard drive space

Hi, Is their an easy way to realloate hard drive space on Solaris 10. For example : /c20td0 10G /space 90 G I would like to move some of the hard-drive space from "/space" and add it to "/c20td0". In Windows this can be easily done using Partition magic, anything similar for UNIX? (4 Replies)
Discussion started by: annointed3
4 Replies

3. Filesystems, Disks and Memory

The best partitioning schem for a 250GB Sata hard drive & a 75GB SCSI hard drive

Hi I have 2 75GB SCSI hard drives and 2 250GB SATA hard drives which are using RAID Level 1 respectively. I wana have both FTP and Apache installed on them as services. I'm wondering what's the best partitioning schem? I wana use FC3 as my OS, so, I thought I can use the 75GB hard drive as the /... (0 Replies)
Discussion started by: sirbijan
0 Replies

4. UNIX for Dummies Questions & Answers

Hard Disk drive space gone missing...

Sorry if this is totally the wrong place to post this but I have a question or something rather thats bugging me. I got a new Dell Inspiron laptop the other day and I was expecting it to have 80G on it, well atleast 70 or so after installation of OS and such but after looking carefully yesterday, I... (8 Replies)
Discussion started by: Ecclesiastes
8 Replies

5. UNIX for Advanced & Expert Users

How to install Linux on an external 320 gigabyte hard drive

Hi all, I would to know if I can install Linux on an external 320 gigabyte hard drive..I have Windows XP on my internal hard drive which is 80 GB , but this installation on 320 external HDD is for testing purpose If it is possible to install Linux on the external drive, will it cause any... (5 Replies)
Discussion started by: bsandeep_80
5 Replies

6. UNIX for Dummies Questions & Answers

Reformat WD 500 GB hard drive for Linux machine

Linux Red Hat machine GNOME version 2.16.0 External hard drive is a Western Digital 500 GB My Book Essential. How can I reformat the external hard drive so that I can backup my Linux machine? Thanks (1 Reply)
Discussion started by: jm4smtddd
1 Replies

7. Fedora

Need to incrwase PHYSICAL VOLUME space on hard drive with free space on it

Hi, I run Fedora 17. I created a physical volume of 30GB on a disk with 60GB of space so there is 30GB of free space. On the physical volume, I created my volume group and logical volumes. I assigned all the space in the physical volume to my volume group. I need to add the 30GB of free space... (1 Reply)
Discussion started by: mojoman
1 Replies

8. UNIX for Dummies Questions & Answers

Copy everything from remote Linux to external hard drive in windows

Hi, I`m trying to copy an entire directory(with numerous files, folders and subfolders etc, a content size of 500gigs) from a linux machine running Red Hat Enterprise Linux 6 to an external hard drive on my windows. I downloaded and installed psftp on my windows and I can login using psftp... (9 Replies)
Discussion started by: newbie83
9 Replies

9. UNIX for Beginners Questions & Answers

Question about setting up a hard drive for a videoserver under Linux

Hi there, I'm currently preparing for an exam and came across a question that I don't really know how to answer. "You want to set up a hard drive for a videoserver under linux. - The videofiles will have a size of at least 10MB and a maximum of 8BG. - The hard drive has a disk space of... (1 Reply)
Discussion started by: Eggsy
1 Replies
WICKED(7)																 WICKED(7)

NAME
wicked - a lua library for dynamic widgets in awesome SYNOPSIS
None DESCRIPTION
wicked is a library, written in lua, for easy creation and management of dynamic awesome statusbar widgets, from the rc.lua configuration file. USAGE
To use wicked, put require("wicked") at the top of your rc.lua, from then on, create your widgets as normal and call wicked.register() to register them to wicked. wicked.register(widget, widget_type, format, update_interval, data_field, padding) widget Use the widget created by widget for this argument. widget_type Enter one of the possible widget type functions or a customised one here, see the WIDGET TYPES section. format Format can be either a string argument where $1,$2,$3,etc. will be replaced by their respective values, or a function called with the arguments (widget, arguments), arguments being a table of the values otherwise inserted into the string, if it is a function, its return value will be used to populate the widget. Note that some widget types might not need or use this parameter. update_interval The amount of seconds it waits between updating this widget, defaults to 1. data_field If you want to feed the data into a graph or progressbar, put the bar or plot name you want to use in here. padding To prevent widgets jumping about your statusbar all the time, you can specify a padding value here, the number given here represents the minimum amount of digits that the widget's output has to contain (ie specifying 2 padds values under 10 with one zero, specifying 3 padds values under 100 with one zero and values under 10 with two zeros, etc) If the widget type supports it, you can specify a table with different numbers, the first number being the padding for the first value the type would return, the second number for the second value, etc. OTHER FUNCTIONS
The following functions are also provided by wicked. wicked.unregister(widget, keep) Unregister all updates associated with a widget. Keep is optional (defaults to false), and if true, the widget will only be suspended, ready to be reactivated by the activate function later. wicked.suspend() Suspend all widget updates, useful if you are running in low-power mode and want to save battery for a while. wicked.activate(widget) Restarts all widgets that were suspended either from wicked.suspend(), or by calling wicked.unregister() with keep=true. Widget is optional, if given, only that widget will be activated, defaults to all widgets. wicked.regregister(reg) wicked.register() and wicked.unregister() both return a reg object, this contains information about the widget and the updates that should be sent to it, you can pass this reg object into regregister after unregistering it, and it will be reregistered (or activated if it was only suspended). wicked.enable_caching(widget_type) Enable caching of the values returned by a custom widget_type. Note that all widget_type functions included in wicked already have caching enabled by default. WIDGET TYPES
Widget types consist of functions that take the "format" argument given to wicked.register as the first argument, the "padding" argument as the second, and return a table of values to insert in the format string, creators of custom widget types should note that the format argument may be a function as well as a string. For backwards compatibility purposes, if a string X is given as widget_type, it will use 'wicked.widgets.X' as the widget type. wicked.widgets.date The date widget type uses the output of the `os.date` command to populate the widget, if format is given, it will be passed as the FORMAT argument to `os.date`. wicked.widgets.cpu The cpu widget type outputs the current cpu usage in percentages, calculated over the duration of it's update_interval. Use $1 inside the format string to display the total usage percentage, $2 to show it for your first cpu core only, $3 for the second core, etc. wicked.widgets.mem The memory widget type outputs four things, $1 will be replaced with the current memory usage in percentages, $2 will be replaced with the total used memory in Mb, $3 with the total amount memory available to the system, and $4 with the amount of free memory. wicked.widgets.swap The swap widget type outputs the same values as the memory widget type, about the amount of swap in use/available. wicked.widgets.mpd The mpd widget type outputs the song currently playing on the music player daemon, note that the `mpc` application needs to be installed and configured in order to use this. wicked.widgets.mocp The mocp widget type outputs the song currently playing on the mocp server. Use $1 inside the format string to display the current song. A maxlength can be given to the wicked.register() function which will cut the songname in two when exeeded and displays the first and last part. A typical functioncall looks like this: wicked.register(mocpwidget, 'mocp', 'MOC: $1', 1, nil, 50). Here 50 is the max amount of characters displayed of $1. wicked.widgets.fs The fs widget type can display size and usage information about currently mounted filesystems, use ${mountpoint datatype} inside the format string to display that data, e.g. ${/ avail} displays the free space on the partition mounted on /. Available datatypes are 'used', 'size', 'usep' (Usage in %) and 'avail'. wicked.widgets.net The net widget type displays usage information about your networks, in the format string, ${interface type} will be replaced with with that value, possible types are: rx, tx, up, down. You can suffix the type with _b, _kb, _mb or _gb, to display the information in those units. wicked.widgets.uptime The uptime widget type displays information about how long your machine has been on (or "up"). Use $1 for the total number of seconds up, $2 for the number of days, $3 for the number of hours, $4 for the number of minutes and $5 for the number of seconds. CUSTOM TYPES
You can create your own custom widgets easily, an example of a widget that returns the output of a specific command is: mywidget = widget({ type = 'textbox', name = 'mywidget' }) function run_script() local filedescriptor = io.popen('my_nifty_script.py') local value = filedescriptor:read() filedescriptor:close() return {value} end -- Runs 'my_nifty_script.py' every 10 seconds and puts its output into the widget wicked.register(mywidget, run_script, "$1", 10) As you can see, the type function returns a table of values to insert into the format string, the first value in the table will be used in place of $1, the second in place of $2, etc. If you want to register the same function multiple times, it is a good idea to enable caching so that your function is only called once in each interval. To do this call the enable_caching function like so: wicked.enable_caching(run_script) FORMAT FUNCTIONS
You can use a function instead of a string as the format parameter, with this, you are able to check the value returned by wicked and change the output accordingly. The format function will get the widget as its first argument, and a table with the values otherwise inserted into the format string as its second argument, and should return the text to be used for the widget. An example that uses a format function in order to hide the mpd widget when there is no song playing: mpdwidget = widget({ type = 'textbox', name = 'mpdwidget' }) wicked.register(mpdwidget, wicked.widgets.mpd, function (widget, args) if args[1]:find("volume:") == nil then return ' <span color="white">Now Playing:</span> '..args[1] else return '' end end) USAGE EXAMPLES
Put these snippets into your rc.lua (usually located at ~/.config/awesome/rc.lua) to see what they do, don't forget to add the widgets to your statusbar. A simple 'Now Playing' widget mpdwidget = widget({ type = 'textbox', name = 'mpdwidget' }) wicked.register(mpdwidget, wicked.widgets.mpd, ' <span color="white">Now Playing:</span> $1') A memory usage monitor, with padding memwidget = widget({ type = 'textbox', name = 'memwidget' }) wicked.register(memwidget, wicked.widgets.mem, ' <span color="white">Memory:</span> $1 ($2Mb/$3Mb)', {2, 4, 4}) A filesystem usage indicator fswidget = widget({ type = 'textbox', name = 'fswidget' }) wicked.register(fswidget, wicked.widgets.fs, ' <span color="white">FS:</span> ${/ used}/${/ size} (${/ usep} used)', 120) A network interface monitor (for eth0) netwidget = widget({ type = 'textbox', name = 'netwidget' }) wicked.register(netwidget, wicked.widgets.net, ' <span color="white">NET</span>: ${eth0 down} / ${eth0 up} [ ${eth0 rx} // ${eth0 tx} ]') SEE ALSO
awesome(1) awesomerc(5) AUTHORS
Lucas de Vries <lucas@glacicle.com[1]> NOTES
1. lucas@glacicle.com mailto:lucas@glacicle.com 06/11/2012 WICKED(7)
All times are GMT -4. The time now is 06:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy