SMB

check_smb_file_simple

Description:

Simple script to test a samba share.
You can use is to test if a file exists on a windows domain.

Usage:
$PROGNAME -H -W -s -f -u -p -S -E
$PROGNAME –help
$PROGNAME –version

Current Version

1.0

Last Release Date

2013-03-28

Compatible With

  • Nagios 3.x
  • Nagios XI

Owner

License

GPL


Nagios CSP

Meet The New Nagios Core Services Platform

Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.

Monitoring Made Magically Better

  • Nagios Core on Overdrive
  • Powerful Monitoring Dashboards
  • Time-Saving Configuration Wizards
  • Open Source Powered Monitoring On Steroids
  • And So Much More!
Project Files
Project Notes
Simple script to test a samba share. You can use is to test if a file exists on a windows domain. Use anonymous login if user name is not supplied. IT NEEDS SMBCLIENT PACKET TO WORK! Usage: $PROGNAME -H -W -s -f -u -p -S -E $PROGNAME --help $PROGNAME --version Put on your nagios plugins dir, and add it on Nagios configuration.
Reviews (2) Add a Review
I have also added a directory parameter
by JVD, December 31, 2019
I also want to check a sub directory in a share, so i added a sub directory parameter (-d), see the code:
---------------------------------
[root@localhost ~]# cat /usr/local/nagios/libexec/check_smb_file.sh
#!/bin/sh

# Check for file on SMB with nagios
# Cristian Barreto 2013-03-27

REVISION=1.0
PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\/][^\/][^\/]*$,,'`

. $PROGPATH/utils.sh

usage () {
echo "
Nagios plugin to check for SAMBA File. Use anonymous login if user name is not supplied.
IT NEEDS SMBCLIENT PACKET TO WORK!

Usage:
$PROGNAME -H -W -s -f -u -p -S -E
$PROGNAME --help
$PROGNAME --version

"
}

help () {
print_revision $PROGNAME $REVISION
echo; usage; echo; support
}

#print help
if [ $# -lt 3 ]; then
usage
exit $STATE_UNKNOWN
fi

user="guest"
pasword=""


while test -n "$1"; do
case "$1" in
--help | -h)
help
exit $STATE_OK;;
--version | -V)
print_revision $PROGNAME $REVISION
exit $STATE_OK;;
-H)
shift
host="$1";;
-W)
shift
workgroup="$1";;
-s)
shift
sharePathToTest="$1";;
-d)
shift
directoryToTest="$1";;
-f)
shift
fileToTest="$1";;
-u)
shift
user="$1";;
-p)
shift
password="$1";;
-S)
shift
onSuccessMessage="$1";;
-E)
shift
onErrorMessage="$1";;
*)
usage; exit $STATE_UNKNOWN;;
esac
shift
done

onSuccessMessage="OK: File exists!"
onErrorMessage="ERROR: File "//"$host""$sharePathToTest"$fileToTest" does not exists."

if [ "$fileToTest" == "" ]; then
echo "ERROR: You need to specify a file to test using -f parameter."
exit $STATE_UNKNOWN
fi

if [ "$directoryToTest" == "" ]; then
echo "directoryToTest = empty, do not add a sub directory after the share (and before the filename)"
fileToTest="$fileToTest"
else
echo "directoryToTest = Filled, add a sub directory after the share (and before the filename)"
fileToTest = "$directoryToTest/$fileToTest"
fi

smbclient //"$host""$sharePathToTest" -U "$user"%"$password" -W "$workgroup" -c "get "$directoryToTest/$fileToTest" /tmp/"$fileToTest""

if [ -f /tmp/"$fileToTest" ]; then
rm -f /tmp/"$fileToTest"
echo $onSuccessMessage
exit $STATE_OK
else
echo $onErrorMessage
exit $STATE_CRITICAL
fi
Helpful? Yes  No 
Dealing with subdirectories
by cenovusjim, October 31, 2015
Thanks for the great script. Made the following updates to deal with files in subdirectories:

$ diff check_smb_file check_smb_file-orig
18c18
$PROGNAME -H -W -s -f -u -p -S -E
57,59d56
";;
82c79
onErrorMessage="ERROR: File "//"$host""$sharePathToTest"$fileToTest" does not exists."
89c86
smbclient //"$host""$sharePathToTest" -U "$user"%"$password" -W "$workgroup" -c "get '$fileToTest' /tmp/"$fileToTest""
92c89
rm -f /tmp/"$fileToTest"
1 of 1 found this review helpful.
Helpful? Yes 1 No 0
Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
4 (2)
Favorites
0
Views
45,176