本番形式の一部のHTMLファイルをWebサーバーに再同期したいと思います。本番形式でインポートするには、スクリプトタグに ".production"文字列を挿入する必要があります。次のsedコマンドを使用してこれを実行できます。
sed 's/steal\.js/steal\.production\.js/g' */*.html
-i
私はファイルを所定の位置にsedし、rysyncしてから完了したら返すことができることを知っていますが、リモート-i
システムのターゲットファイルに対してrsync stdoutのようなことをしたいと思います。これにより、転送中のスクリプトのキャンセルによってHTMLファイルが破損することを心配する必要がなくなります。
この問題を解決する方法に関する提案はありますか?
ベストアンサー1
少しの空きディスク容量がある場合(最近は安いですか?)開発ボックスで、開発ツリーからプロジェクトの2番目のコピー(「一時」ツリー)としてローカルのrsyncを実行できます。次に、ステージングツリーに必要な本番変更を実行し、ステージングツリーから本番サーバーに「実際の」rsyncを実行します。
展開を高速化するために一時ツリーを維持したり、後で削除してスペースを解放したりできます。
あるいは、本番サーバーに一時ツリーを維持することもできます。この場合、rsyncを一度実行して変更し、ステージングツリーが本番ツリーになり、以前のプロダクションツリーがステージングツリーになるように、いくつかのクイックディレクトリ名を変更できます。これにより、本番環境で部分的に更新されたWebサイトを持つことができなくなります。