Send Email when Ping Fails but Email is Empty
-
When I execute this from the shell it works and I get an email when the ping fails:
/sbin/ping -S 1*.2*.7*.2* -c 5 1*.1*.1*.*9 | /usr/bin/grep "0 packets received" && { /bin/echo "Site Down now" | /usr/local/bin/mail.php -s"Site Down now" }
The output of the command is:
5 packets transmitted, 5 packets received, 0.0% packet loss {: Command not found.
I receive an email with Subject: "Site Down now" but the content of the email is Empty
I suspect that there is an error with this part of the command
{ /bin/echo "Site Down now" | /usr/local/bin/mail.php -s"Site Down now" }
which I think is causing this error on the screen:
{: Command not found.
I am weak on Shell Script but think I have an error with the code syntax the braces or something after the && when the ping fails and the grep succeeds:
&& { /bin/echo "Site Down now" | /usr/local/bin/mail.php -s"Site Down now" }
Thanks in advance for any assistance!
-
Usually when you see that it's because you're using a bash script and pfSense does not use bash. Some commands do not work.
Though here it looks like it's trying to run { as a command.
Steve
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.