Articles of shell

从PHP运行shell脚本并查看完整的进度?

有没有办法从PHP运行一个shell脚本,并在进度完成后回显结果? 这是我的shell脚本: (它的多行 – 一些命令必须依次运行。) cd cd /var/www/html/ npm uninstall gulp –save npm install gulp –save npm start 这是我目前正在运行的PHP脚本。 它只输出一些进度,只在完成时输出。 我需要现场预览进度。 <?php echo "loaded<br><br>"; // echo shell_exec("cd /var/www/html/.."); // rin the shell scrip from header_register_callback echo '<pre>'; // Outputs all the result of shellcommand "ls", and returns // the last output line into $last_line. Stores […]

如何映射我的私人IPdynamic更改到我的vps_ip?

digitalocean中创build了一个液滴,我可以使用一个vps_ip。 在我的家中,连接到互联网的方式是:route + modem + adsl。 我在家里的本地电脑上build了一个wordpress。 networking状态如下所示连接到networking。 WAN: MAC:ommitted for privacy IP :public_ip PPPoE subnet mask:255.255.255.255 gateway:153.0.68.1 DNS:114.114.114.114 223.5.5.5 LAN MAC:ommitted for privacy IP :192.168.1.1 subnet mask:255.255.255.0 DHCP:active ifconfig inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 我的目标:让公众访问我的wordpress网站在家用电脑与vps_ip digitalocean给了我。 感谢CrypticDesigns。 https://www.digitalocean.com/community/questions/how-to-map-my-local-ip-192-168-1-100-with-my-vps_ip ? 我已经在CrypticDesigns的帮助下解决了这个问题。 在我的本地networking中: 在我的路由器portforward端口80和私有ip 192.168.1.100到您的networking之外。 在公共液滴系统中: sudo apt-get install nginx sudo nano /etc/nginx/sites-available/default server { listen *:80; […]

我怎样才能避免在PHP上显示“#!/ usr / bin / php”?

我希望PHP脚本在命令行和网站(我使用Apache和Nginx)上运行,所以我把#!/ usr / bin / php放在脚本的第一行,但是出现在网站上。

Ansible Playbook运行Shell命令

我最近在我的一台服务器上安装了Ansible,发现它非常有趣,而且省时。 我正在运行一个Ubuntu专用服务器,并已经configuration了多个用Python编写的Web应用程序,还有一些用PHP编写的。 对于Python,我使用uwsgi作为HTTP网关。 我写了shell脚本来启动/重新启动几个进程,以运行特定的Web应用程序的实例。 我每次必须做的是连接ssh并导航到特定的应用程序并运行脚本。 我需要的 我一直在试图find一种方法来编写Ansible的手册,以完成从我的个人计算机执行所有命令,但我不知道如何做到这一点。 我还没有find一个非常有说服力的(对于初学者)文档或在互联网上的帮助。 题 如何用Ansible playbook重新启动Nginx? 我怎样才能杀死进程ID的进程?

nginx:使用环境variables

我有以下情况:我有一个envvariables$SOME_IP定义,并希望在nginx块中使用它。 参考nginx文档 ,在nginx.conf文件中使用env指令,如下所示: user www-data; worker_processes 4; pid /run/nginx.pid; env SOME_IP; 现在我想用这个variables作为proxy_pass 。 我尝试了如下: location / { proxy_pass http://$SOME_IP:8000; } 但是我最终得到这个错误消息: nginx: [emerg] unknown "some_ip" variable

在脚本的多个文件中使用sed

我有一个sed脚本在文件中find关键字“MYWORD”之前插入一行。 我的脚本如下: sed -e '/MYWORD/ i\MY NEW LINE TO BE INSERTED' <inputFilename >outputFilename 由于这只会发生在一个文件上,我怎样才能改变我的脚本,使这个插入目录中的每个文件发生?

以非root用户身份调用外部shell脚本失败

我想要一个用户作为B用户做一些工作。 如果B是root,但是非root用户失败,那么可以。 这里是基本的代码: root.c: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main() { setuid( 0 ); system( "/tmp/script_of_root.sh" ); return 0; } script_of_root.sh: #!/bin/sh echo $RANDOM >> /tmp/file_of_root 回放 : $ cd /tmp $ cc root.c -o root $ su – # chown root.root /tmp/root # chmod 4755 /tmp/root # exit $ ./root […]

diff命令忽略新目录中的新文件

我在“修改的目录”(在第三个子级文件夹)中添加了一个新文件,当我尝试使用以下命令生成修补程序文件时,它显示diff命令忽略了新文件: diff –ur "original directory" "modified directory" > version1.patch 我感谢您的帮助..

pipe道连续stream到多个文件

我有一个程序将连续运行写输出到标准输出,我想不断从它的最后一组输出,并将其写入一个文件。 每次有一组新的输出,我想覆盖相同的文件。 一个例子是以下命令: iostat -xkd 5 每5秒钟打印一些输出,每一个输出一个空行。 我希望最后的“集合”被写入一个文件,我认为这应该可以通过一些简单的事情来实现。 到目前为止,我已经尝试过使用xargs,我只能用一行代码来完成这个工作,而不是由一些由某些东西划定的行。 我认为这可能与awk,但我不知道如何让它缓冲数据,因为它可以写出它使用系统,或让它closures并重新打开相同的输出文件。 编辑 :澄清,这是一个连续运行的单一命令。 我不想开始一个新的命令,并阅读它的输出。 解 我调整了@Bittrance的答案来得到以下结果: iostat -xkd 5 | (while read r; do if [ -z "$r" ]; then mv -f /tmp/foo.out.tmp /tmp/foo.out else echo "$r" >> /tmp/foo.out.tmp fi done) 这基本上是相同的,除了检测“部分”的结束和写入临时文件,以便每当外部进程试图读取输出文件将完成。

为每列添加多个值

我真的很新使用awk / sed 所以,我有一个名为performance.log的文本文件,它具有以下信息 CPU 1 2 3 4 5 6 RAM 2 3 4 5 6 7 HAR 3 4 5 6 7 8 在performance-eval.sh中的代码中,函数生成以下信息 Cur_CPU=10 Cur_RAM=11 Cur_HAR=13 我想插入并保存Cur_CPU,RAM,HAR到performance.log。 Cur_CPU将进入第一行,第二列Cur_RAM将进入第二行,第二列Cur_HAR将进入第三行,第二列 所以,结果performance.log会 CPU 10 1 2 3 4 5 6 RAM 11 2 3 4 5 6 7 HAR 13 3 4 5 6 7 […]