Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
11-07-2009, 04:54 AM
|
#1
|
Member
Registered: Jul 2008
Location: Ghent, Belgium
Distribution: Fedora, CentOS
Posts: 694
Rep:
|
Use php inside script
I need to take certain variables from an output and do something with them to build my own Nagios-plugin.
I'm not good with gawk and sed to filter the output, so writing my Nagios-plugin in bash is not an option.
What I do know is php, but for building websites.
Can I use php also inside a script ???
It would then start with #!/bin/php ??
How can I execute a linux-command inside this php-script ??
I want to execute /usr/sbin/asterisk -rx "sip show peers",
which gives me a line for every sip-peer.
I need to filter a specified sip-peer (will be {ARG1}) from this output.
So, do I learn gawk & sed, or can I stick to my php ??
|
|
|
11-07-2009, 06:19 AM
|
#2
|
Member
Registered: Feb 2008
Location: Rome, Italy
Distribution: OpenSuSE 11.x, vectorlinux, slax, Sabayon
Posts: 206
Rep:
|
Yes you can use php for your script. If you write a script in php, use the '<?' and '?>' start and end tag. Then, if your file is named sample.php, run it with 'php -f sample.php'.
If you want to execute a command in php, use the function 'exec' of 'passthru' depending on the result you want to get.
Anyway, using php is up to your choice. It certainly supports text filtering, but with sed you can write such filters much faster, so maybe learning it could be a good thing.
|
|
|
11-07-2009, 08:42 AM
|
#3
|
Member
Registered: Jul 2008
Location: Ghent, Belgium
Distribution: Fedora, CentOS
Posts: 694
Original Poster
Rep:
|
And how can I use a PHP-argument inside the exec-statement ??
$PEER=$argv[1];
echo $PEER;
$LINE=exec('/usr/sbin/asterisk -rx "sip show peers" | grep -w "$PEER"');
echo "$LINE";
$PEER is not substituted by its value.
Code:
bash-3.2# ./check_asterisk_sip_peer.php peerarg
peerarg/usr/sbin/asterisk -rx "sip show peers" | grep -w "$PEER"
|
|
|
11-09-2009, 03:35 PM
|
#4
|
Member
Registered: Feb 2008
Location: Rome, Italy
Distribution: OpenSuSE 11.x, vectorlinux, slax, Sabayon
Posts: 206
Rep:
|
Are you sure? In my system, $PEER has been substituted.
Maybe something else is wrong?
|
|
|
All times are GMT -5. The time now is 01:38 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|