2012-02-09 6 views
0

新しいサーバーがあり、すべてのログファイルを古いサーバーから新しいサーバーに週単位で移動したい。シェルスクリプトを使用して、あるサーバーから別のサーバーに週単位でログを移動する必要があります。

ディレクトリが存在しない場合は、その曜日のディレクトリを作成し、その週のすべてのファイルを古いサーバーから新しいサーバーに転送します。

私はそれを行う方法を見つけることができません。

答えて

1
  1. 毎週1回トリガーするcronジョブを作成します。 See this tutorial。行って、あなたのcronコマンドで

  2. 、あなたはコピーを書く(必要に応じて削除)コマンド

    scp -i private_key remote_server_address:/path/to/paste/log/dir; rm -rf /path/to/logfile/on/current/server; 
    

私はprivate_keyを使用して接続を認証しました。 See here how to achieve password less authentication

+0

私はすでにそれを行っていますが、週単位で週単位でファイルを転送したいのですが、すべてのファイルを1つのディレクトリに転送する必要があります。同じように:合計20ファイルあります。 10は週1、7は週2、3は週3です。このログ/ week1 /今週のすべてのファイル、ログ/ week1 /今週のすべてのファイルを構造化します。 – Prateek

+0

もちろん、パスフレーズレス認証を使用して、 'cron'から[**' rsync' **](http://superuser.com/a/349538/37904)を使用してください。 – Johnsyweb

+0

echo "ディレクトリが存在するかどうかのチェック" echo "-----------------------" ssh -i PATH /プライベートキーサーバー名 'tgt_path =/$ PATH [! -d $ {tgt_path}]; はその後 ます。mkdir -p $ {} tgt_path Fiの エコー-------------------- 「 エコー "の移動ログ" エコー」 "ディレクトリが存在します" --- " rsync -r -a -v -e" ssh -iプライベートキー "--delete path1 PATH2 echo"完了 " echo" ---------------- -------- " echo"完了! " – Prateek

関連する問題