シェルスクリプトを使用してリモートマシン上のファイルを削除する必要があるシェルスクリプトを書いています。
手動でフロー:
ssh [email protected]
..次にドメインで:
cd ./some/where
rm some_file.war
そのタスクを達成する方法?
ssh
クライアントにsshコマンドに追加することにより、シェルを開始する代わりに実行するコマンドを渡すことができます。
ssh [email protected] 'rm /some/where/some_file.war'
フルパスを指定している限り、何かを削除するために場所にcd
する必要はありません。そのため、スキップできる別の手順です。
次の質問は認証です。それを実行しただけの場合、パスワードの入力を求められます。これをインタラクティブに入力したくない場合は、公開鍵認証をセットアップする必要があります。
Sudoを使用してリモートファイルを削除する場合は、次のように実行する必要があります。
ssh -tt user@Host 'stty raw -echo; Sudo rm /path/to/file' < <(cat)
詳細 。
Sshコマンドには、リモートコマンドの実行に使用できるコマンドパラメーター(コマンドの最後のパラメーター)があります。
パスワードなしのキーをセットアップし、sshコマンドの一部としてコマンドを追加します。参照: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/