diff options
author | Ton Voon <tonvoon@users.sourceforge.net> | 2003-03-09 10:39:49 +0000 |
---|---|---|
committer | Ton Voon <tonvoon@users.sourceforge.net> | 2003-03-09 10:39:49 +0000 |
commit | 3dfd480b220f6ccdd410357fec457f6280a409f4 (patch) | |
tree | 36556a80f8a5ccdc23cf0c66c90762d4f6469b95 /plugins | |
parent | e5785a500037649a286f927586416bbdf14c7424 (diff) | |
download | monitoring-plugins-3dfd480b220f6ccdd410357fec457f6280a409f4.tar.gz |
Implement error-only option for check_disk (Ian Duggan)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@388 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/check_disk.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/plugins/check_disk.c b/plugins/check_disk.c index feeff560..9421d060 100644 --- a/plugins/check_disk.c +++ b/plugins/check_disk.c @@ -54,6 +54,7 @@ float c_dfp = -1.0; char *path = ""; char *exclude_device = ""; int verbose = 0; +int erronly = FALSE; int display_mntp = FALSE; @@ -117,6 +118,9 @@ main (int argc, char **argv) if (strcmp (file_system, "none") == 0) strncpy (file_system, mntp, MAX_INPUT_BUFFER-1); + if (disk_result==STATE_OK && erronly && !verbose) + continue; + if (disk_result!=STATE_OK || verbose>=0) asprintf (&output, "%s [%d kB (%d%%) free on %s]", output, free_disk, 100 - usp, display_mntp ? mntp : file_system); @@ -172,6 +176,7 @@ process_arguments (int argc, char **argv) {"partition", required_argument, 0, 'p'}, {"verbose", no_argument, 0, 'v'}, {"version", no_argument, 0, 'V'}, + {"errors-only", no_argument, 0, 'e'}, {"help", no_argument, 0, 'h'}, {"mountpoint", no_argument, 0, 'm'}, {"exclude_device", required_argument, 0, 'x'}, @@ -191,9 +196,9 @@ process_arguments (int argc, char **argv) while (1) { #ifdef HAVE_GETOPT_H c = - getopt_long (argc, argv, "+?Vqhvt:c:w:p:x:m", long_options, &option_index); + getopt_long (argc, argv, "+?Vqhvet:c:w:p:x:m", long_options, &option_index); #else - c = getopt (argc, argv, "+?Vqhvt:c:w:p:x:m"); + c = getopt (argc, argv, "+?Vqhvet:c:w:p:x:m"); #endif if (c == -1 || c == EOF) @@ -249,6 +254,9 @@ process_arguments (int argc, char **argv) case 'q': /* verbose */ verbose--; break; + case 'e': + erronly = TRUE; + break; case 'm': /* display mountpoint */ display_mntp = TRUE; break; |