IP の配列を含む PHP を実行し、各 IP から特定のファイルを削除したいと思います。
このようなもの:
foreach($servers as $ip){
shell_exec("sh /my/dir/delete.sh ".$ip." ".$file);
}
そしてdelete.shファイルには、次のようなものがあります
ssh user@$1 'rm /my/dir/filespath/$2 '
すべてのサーバーには同じパスとファイルがあり、ユーザーとパスワードも何か提案はありますか?
編集:
sh ファイルを実行する PHP ファイルは安全な管理者ページにあり、IP はローカル IP (192.168.1.25、26、27) です。
パスからすべてのファイルを削除したい場合は、このようなことをします(現在行っているように)
ssh user@192.168.1.25 '/usr/bin/find /my/dir/filespath/* -type d -exec /bin/rm -fr {} \;'
ssh user@192.168.1.26 '/usr/bin/find /my/dir/filespath/* -type d -exec /bin/rm -fr {} \;'
ssh user@192.168.1.27 '/usr/bin/find /my/dir/filespath/* -type d -exec /bin/rm -fr {} \;'
しかし、たとえば次のような特定のファイルを1つだけ削除したい: /my/dir/filespath/other/folder/file.txt
さらにサーバーを追加したり、IP を変更したりする場合は、それらを可変にする必要があります [これは現在必須ではありません]