我想运行一个包含IP数组的PHP,并从每个IP删除特定文件。PHP - 执行bash .sh文件以从不同服务器上删除文件
事情是这样的:
foreach($servers as $ip){
shell_exec("sh /my/dir/delete.sh ".$ip." ".$file);
}
,并在delete.sh文件我有这样的事情
ssh [email protected]$1 'rm /my/dir/filespath/$2 '
所有服务器都具有相同的路径和文件,还有用户名和密码 有什么建议吗?
编辑:
执行的SH文件的PHP文件是在一个安全管理员页面,以及IP的本地IP地址(192.168.1.25,26,27)
我会做这样的事情这一点,如果我想从路径中删除所有文件(如我现在这样做)
ssh [email protected] '/usr/bin/find /my/dir/filespath/* -type d -exec /bin/rm -fr {} \;'
ssh [email protected] '/usr/bin/find /my/dir/filespath/* -type d -exec /bin/rm -fr {} \;'
ssh [email protected] '/usr/bin/find /my/dir/filespath/* -type d -exec /bin/rm -fr {} \;'
但我想只删除一个特定的文件,该文件可能是在例如:/我的/ DIR/filespath/other/folder/file.txt
而且我会添加更多的服务器或更改其IP的,我需要他们变量[这并不是强制性的,现在]
现在的解决方案到底出了什么问题? –
也许应该是'/ bin/sh /my/dir/delete.sh ...'而不仅仅是呃 – fedorqui
你确定没有更好的方法来做到这一点吗?安全方面,你不在一个好的地方。 – Oerd