次のスクリプトをまとめました。
ssh -2 -l root devserver "cd /var/log/httpd; ls | grep -v 'gz' | xargs -- tail -n 15"
これは devserver にログオンし、chagnes ディレクトリを httpd ログに記録し、それらを一覧表示し、圧縮された何百もの履歴ローテーションを削除し、これを末尾にパイプします。
どのようなエラーが発生しているかを簡単に確認できます。これは、自分で ssh し、コマンドを引用符で囲んで実行すると機能します。ただし、これをスクリプトとして使用すると、プロダクションからの出力が文字化けし、開発者に通知が表示されます。出力を単純なテキストではなくコマンドのように扱っているようです。
私はいくつかのエスケープまたは何かが欠けていると確信しています。
注: - 通常の ssh ユーザーでは httpd ログを読み取ることができないため、root として SSH 接続します。-問題のディレクトリにいなかったときに、grepからパイプされたファイルをtailが見つけられなかったためです。