0

グーグルでこれに関する特定の答えを見つけることができなかったので、誰かが私に答えを持っているか、正しい方向に向けることができると思います.

CentOS 6.3 を実行しているサーバーが 2 台あります。1 つは開発サーバーで、もう 1 つはライブ サーバーです。開発サーバーですべての変更を行い、それらをテストして、満足したらライブ サーバーにコピーします。システムは正常に動作しますが、毎回 scp または rsync を使用し、ファイルまたはディレクトリをプッシュするたびに絶対ディレクトリ パス全体を入力する必要があるのは面倒です。

私は決して経験豊富なシステム管理者ではありませんが、最近変更されたすべてのファイル (おそらく過去 20 分間、または指定した時間) を取得し、それらを自動的にプッシュする 1 つのスクリプトを実行する方法が大好きです。同じディレクトリ構造とすべてを維持しながら、ライブサーバーに接続します。

私のためにこれを行う簡単なもの、またはこれを行うために書くことができるある種のbashスクリプトはありますか?

前もって感謝します。

4

2 に答える 2

0

Keith と pfnuesel の助けのおかげで、私はこれを理解することができました。他の誰かがこれを行う簡単な方法を探している場合に備えて、これが私の解決策です。

rsync で --update オプションを使用することになりました。これは、基本的に、そこに存在するバージョンよりも新しいファイルのみをリモート サーバーにコピーします。そのため、 ~/.bashrc ファイルに、それを実行する関数を作成するだけになりました。これが私が一緒に投げた私の機能です-

function push() {
    rsync -avzu /var/www/$1 root@12.34.56.78:/var/www/$1
}

したがって、「push dirname」を実行するだけで、魅力的に機能します。助けてくれてありがとう!

于 2013-11-07T23:06:24.233 に答える