我想運行一個包含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