CDN の実装を計画しており、メイン ドメインのディレクトリを CDN のディレクトリと同期する必要があります。たぶんcronジョブがうまくいくと思いましたが、方法がわかりません。
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.sh
rsync コマンドを含む既存のファイルである必要があります。ここでも、非常に複雑なスクリプトを作成することができます。最も基本的なスクリプトは、おそらく
#!/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 ジョブを作成してみてください。