使用 PHP 运行 shell 命令?

发布于 2024-09-16 11:42:42 字数 254 浏览 9 评论 0原文

有时我的媒体服务器会宕机,我想知道是否可以使用 php 远程启动它来检查端口,如果它没有运行,则调用 cron (或其他方式)来运行 shell 命令。这可能吗,因为这对我来说不是一个强项。这是我使用 PuTTy 的过程。

  1. 登录 shell
  2. cd 到 source/red5/dist
  3. screen
  4. ./red5.sh
  5. CTRL-A 然后 D 分离
  6. 注销

Occasionally my media server goes down and I'm wondering if it's possible to start it remotely using php to check the port and if it's not running invoke cron (or some other way) to run a shell command. Is this possible because this is not a strong area for me. Here's the process I use with PuTTy.

  1. login to shell
  2. cd to source/red5/dist
  3. screen
  4. ./red5.sh
  5. CTRL-A then D to detach
  6. logout

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

想念有你 2024-09-23 11:42:42

最简单的就是写一个shell脚本。然后通过PHP登录远程控制台

  • shell_exec:执行 shell 命令并以字符串形式返回输出。
  • exec:只执行外部程序

Simplest thing is to write a shell script. And then login to remote console via PHP.

  • shell_exec: execute a shell command and returns the output as string.
  • exec: just executes an external program
赠意 2024-09-23 11:42:42

实现您想要的效果的一个简单方法是在屏幕中运行它:

while /bin/true ; do ./red5.sh ; done

A simple way to achieve what you want is to run this in screen:

while /bin/true ; do ./red5.sh ; done
第七度阳光i 2024-09-23 11:42:42

如果您可以编写一个执行您需要的 shell 脚本,那么 PHP 可以为您提供 exec()system()passthru()

If you can write a shell script that does what you need, then PHP's has exec(), system() and passthru() for you.

南风起 2024-09-23 11:42:42

PHP 实际上有一个特殊的运算符来执行 shell 命令,反引号

`cd source/red5/dist`

将转到指定目录。 (但我对 shell 不太了解,所以我无法为您实现整个事情。)

如果您需要对执行进行更多控制(我不知道您是否需要这里),请使用 proc_open

PHP actually has a special operator for executing shell commands, the backtick:

`cd source/red5/dist`

will go to the specified directory. (But I don't know much about shell, so I can't implement you the whole thing.)

If you need much control over the execution (I don't know whether you need here) use proc_open.

夜还是长夜 2024-09-23 11:42:42

您可以在 php 上使用 corn job 并将所有命令放在 .sh 文件中并像这样运行

59 11 * * 1,2,3,4,5 root command file.sh?token

像这样的东西,它将被保存

you can use corn job on php and put all command on .sh file and run like this

59 11 * * 1,2,3,4,5 root command file.sh?token

something like this ,it will be save

ぃ双果 2024-09-23 11:42:42

这里有不止一个好的答案,但您应该选择执行 red5 的 init 脚本而不是 .sh 或 .bat。这里有预制的初始化脚本: http://code.google.com/p/bigbluebutton/downloads/detail?name=red5&can=2&q= 以及此处:http://www.videowhisper.com/forum.php ?ftid=48&t=init-file-red5-linux-installations-red5-linux-init.d-chkconfig

There is more than one good answer here, but you should opt for executing the init script for red5 instead of the .sh or .bat. There are pre-made init scripts here: http://code.google.com/p/bigbluebutton/downloads/detail?name=red5&can=2&q= and here: http://www.videowhisper.com/forum.php?ftid=48&t=init-file-red5-linux-installations-red5-linux-init.d-chkconfig

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文