0

CDN の実装を計画しており、メイン ドメインのディレクトリを CDN のディレクトリと同期する必要があります。たぶんcronジョブがうまくいくと思いましたが、方法がわかりません。

4

1 に答える 1

1

フォルダーの同期を維持する唯一の方法ではありませんが、rsync が最も基本的な方法かもしれません。タイプ

 crontab -e

これにより、現在のユーザーの cron テーブル エディターが開きます。「a」を押してテキスト追加モードに切り替え、次のように入力します

 0 4 */3 * *  /home/me/run-my-rsync.sh >> /home/me/mysync.log

次に ESC : x を押して閉じます (vi は学ぶ価値のある優れたエディターです)。これにより、rsync コマンドを含む bash スクリプトが 3 日おきに 4:00 に実行されます。

/home/me/run-my-rsync.shrsync コマンドを含む既存のファイルである必要があります。ここでも、非常に複雑なスクリプトを作成することができます。最も基本的なスクリプトは、おそらく

 #!/bin/bash
 rsync -avz remote.machine.com:cdn /home/me/cdn

これにより、新規または変更されたすべてのファイルが、remote.machine.com のディレクトリ /home/me/cdn からローカル マシンの /home/me/cdn ディレクトリに再帰的に転送されます。変更されたファイルのみが転送されます。cron で実行するには、bash ファイルを実行可能にする必要があります ( chmod +x /home/me/run-my-rsync.sh)。

確かに、これはリモート マシンで ssh デーモン (sshd) が実行されていて、アクセス権がある場合にのみ機能します。rsync が自動的に機能するためには、たとえばここで説明されているように、SSH キーを使用して適切な認証を設定する必要があります。

最初に両方のマシンでアカウントを作成し、sshd をインストールし、単純なログインが機能するかどうかを確認してから、rsync コマンドが機能するかどうかを手動で試して (パスワードが要求されます)、パスワードではなく ssh キーを使用するように構成し、最後にcron ジョブを作成してみてください。

于 2013-01-13T20:09:51.150 に答える