Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

5 votes
check_tftp.shcheck tftp

Help Support Ethan Galstad's New Project:

Help Support Ethan

A Message From The Founder...

As the founder of Nagios, I'm asking for your help in a cause that's dear to my heart.

I'm launching a new project to help better the world by providing the information, ideas, and inspiration that I believe can improve the lives of people everywhere.

I know you're busy managing networks, but I would appreciate it if you would consider liking my Facebook page and showing your support for the content and messages I produce by sharing them with your friends and family.

You can learn more about my project by visiting Thank you for your time. I wish you all the best in your endeavors, whatever they may be.

- Ethan

The plugin check_tftp monitors availability of a TFTP Server, which is normaly used for booting clients over the network.
It downloads a test file from the TFTP server and checks its size against a given value.
Reviews (4)
Good but in newer versions you have to change following lines:

RESULT="$(echo get NaGiOs_ChEcK_FiLe | tftp $HOST 2>&1 | head -n 1)"
RESULT="$(echo get NaGiOs_ChEcK_FiLe | tftp -v $HOST 2>&1 | grep Received)"

RESULT="$(echo get $FILENAME | tftp $HOST 2>&1 | head -n 1)"
RESULT="$(echo get $FILENAME | tftp $HOST 2>&1 | grep Received)"

*"Received "*" bytes in "*" seconds")
*"Received "*" bytes in "*" seconds"*)

Than it will work fine again!

Klaus Tachtler.
bylgroschen, February 18, 2015
Works well.

I found a version 1.0.2 and there was a small bug on line 422:

RESULT=$(echo "$RESULT" | head -1 )

which grabbed the wrong string to fine the "file not found" message. Every time you ran the --connect it would return CRITICAL

RESULT=$(echo "$RESULT" | head -2 | tail -1 )

-will work there and return OK

(I will look into getting v1.0.2 on the exchange with the above patch if it is updated)
byhk@, May 9, 2013
besides the typo in line 411.

we had to copy the "create tempdir" part to the "connect only check" as otherwise tftp always fails for "permission denied" - resulting in this update:

function check_connect () {
# tmp-dir creation is necessary also for connect-only-check
# as the tftp get fails otherwise with "permission denied"
# 20130509
mkdir -p "$TMPDIR"
cd "$TMPDIR" || {
echo "Cannot create temporary directory in /tmp"
RESULT="$(echo get NaGiOs_ChEcK_FiLe | tftp $HOST 2>&1 | head -n 1)"
rm -f NaGiOs_ChEcK_FiLe
# call fixed - was: check_prinzipal_errors "$RESULT"
check_principal_errors "$RESULT"
case "$RESULT" in
*"Error code 1: File not found")
echo "TFTP OK - answer from server"
exit $STATE_OK
echo "$RESULT"
One minor typo I found was on line 411. check_prinzipal_errors should be check_principal_errors. Otherwise, works very well.