|
カテゴリ:サーバー
A鯖のフォルダとB鯖のフォルダを同期させたいという時がある。
rsyncでも出来るけど、centosはlftpが標準で入っていたのでこれを使う事にした。 lftpをバッチモードで動かせば結構いろんな事が出来るっぽいし。 バッチ処理用のA鯖 データ保存用のB鯖 A鯖でlftpをバッチ起動、B鯖のディレクトリと同期を取る(A鯖をB鯖に合わせる) --A鯖をB鯖に合わせる-- lftp sftp://[user]:[passwd]@[B鯖のip or hostname][初期ディレクトリ] mirror --only-newer [ホスト側(B鯖)同期ディレクトリ] [クライアント側(A鯖)同期ディレクトリ] close quit --/A鯖をB鯖に合わせる-- A鯖で新しく追加されたファイルが無いかチェックし、追加されていたらそのファイルを対象にしてバッチ処理を走らせる A鯖でバッチ処理が終わったら、ファイルを別ディレクトリへ移動 これでA鯖とB鯖に差異ができる。 B鯖のディレクトリをA鯖に合わせるために、A鯖でlftpをバッチ起動、-Rオプションによって最初とは逆パターンの動機を取る --B鯖をA鯖に合わせる-- lftp sftp://[user]:[passwd]@[B鯖のip or hostname][初期ディレクトリ] mirror -R --only-newer --delete [クライアント側(A鯖)同期ディレクトリ] [ホスト側(B鯖)同期ディレクトリ] close quit --/B鯖をA鯖に合わせる-- 見ての通り、A鯖とB鯖の同期ディレクトリを書く分が逆になっている。-Rオプション指定によってgetからputになった為? lftpを起動するのは前者も後者もA鯖から起動している。 何か見にくいのでメモがてら記述例 (123.45.67.89サーバーの/home/hogeuser/mirrorの内容を自分のマシンの/tmp/mirrorにコピー) --記述例-- lftp sftp://hogeuser:hogepass@123.45.67.89/home/hogeuser mirror --only-newer /home/hogeuser/mirror /tmp/mirror close quit --/記述例-- ちなみにnologinユーザーだとログインできなかった。ログインはじかれた場合は、そこら辺の設定を見てみるといいかも。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2009.07.28 00:43:21
コメント(0) | コメントを書く
[サーバー] カテゴリの最新記事
|