File: disktemp

package info (click to toggle)
xfce4-genmon-plugin 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 932 kB
  • sloc: ansic: 1,273; sh: 314; makefile: 129; perl: 21
file content (76 lines) | stat: -rwxr-xr-x 2,545 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/perl -U
#$Id: disktemp,v 1.1 2004/11/01 00:22:48 rogerms Exp $

########################################################################
# Copyright (c) 2004 Roger Seguin <roger_seguin@msn.com>

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:

# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.

# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
########################################################################


#Description:
# This simple Perl script (could be more secure) gets the temperature of the
# given disk (parameter) using smartd (smartmontools) and prints it on the
# standard output.
# This program needs to be run as root (setuid)

#Usage (example):
# disktemp /dev/hda


use strict;
$ENV{"PATH"}="";
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};  

my $disk	= "$ARGV[0]";
my $uid		= 0;
if (($< = $uid) != $uid) {
	print (STDERR "setuid($uid): $!\n");
	exit (-1);
}
my $TempDetails	=
	`/usr/sbin/smartctl -A "$disk" | /bin/grep Temperature_Celsius`;
my $Temp_C;
	$_ =
	`/usr/bin/printf "$TempDetails" | /usr/bin/awk '\{ print \$10 \}'`;
		s/\n//g;
		$Temp_C = $_;
if ("$Temp_C" ne "") {
	$Temp_C = "$Temp_C" . " C";
}
print "$Temp_C\n";
exit (0);


#$Log: disktemp,v $
#Revision 1.1  2004/11/01 00:22:48  rogerms
#Initial revision
#
#Revision 1.1  2004/08/27 23:14:21  RogerSeguin
#Initial revision
#
#Revision 1.2  2004/08/27 21:36:14  RogerSeguin
#Added description
#
#Revision 1.1  2004/08/23 11:15:25  RogerSeguin
#Initial revision
#