現在、4台または5台のコンピューターを使用していますが、すべてを同期するためのより良いシステムが必要です。プログラミングプロジェクトのファイルを同期するためにgitとgithubをよく使用していますが、データベース、.bash_profileファイル、bashスクリプトなどがあります。ファイルを同期する代わりに、あるコンピューターから別のコンピューターにsshで接続することもあります。しかし、これはかなり混乱しています。私のコンピューターの一部はUbuntuで、その他はOS Xです。
複数のパソコンにまたがるワークフローを管理するための提案はありますか?
私はGitリポジトリにGitを、その他すべてに nison を組み合わせて使用しています。私はいくつかのユニゾンプロファイルを持っているので、特定のものとすべてを同期するものを同期できます。私はまた、ユニゾン同期が通過してすべてのgitリポジトリを更新して更新するすべてのことを実行して同期するbashスクリプトも持っています。
コンピューターの同期に関しては、Unisonは私の心の中で最高のものです。
ファイルの同期については、DropBoxが認識しているフォルダー内でファイルを操作するのと同じくらい簡単です。メインページのビデオはほとんどの説明をしているので、私は機能についてコメントしませんでした。バージョン化されたファイルを変更するだけで、DropBoxが自動的にファイルをアップロードし、DropBoxを備えた他のすべてのマシンが最新バージョンを自動的にダウンロードします。
データベースのようなものでは、シンボリックリンクが良い方法かもしれません。 このスレッド DropBoxフォーラムのMySQLデータベースを同期する方法について少し洞察を提供します。または、「エクスポート/インポート」スクリプトルートを実行することもできます。実際にMySQLを使用している場合は、 Replication および それを実装する方法 (これはDropBoxを使用しないMySQLの機能)。
もちろん、.bash_profileファイルやbashスクリプトを含むすべてのコードでgithubを使用できます。
Hudson/Jenkins CIサーバーは、複数の環境を維持するのに適しています。 DbMaintainと共に使用すると、データベースの同期も維持できます。
私のチームはこの組み合わせを使用して、4つのペアリングステーション、さまざまなラップトップ、およびCI、TEST、QA環境(サーバーとDBの独自のコピーを含む)を同期します。
これには、Windowsマシン、Macラップトップ、およびLinuxサーバーが含まれるため、非常に柔軟です。
私はdotfilesをgitに保存し、マシン固有のセットアップ用のブランチを用意しています。新しいマシンをすばやくセットアップでき、スクリプトを共有して最新バージョンに保つことができます。
おそらく、一歩下がって、なぜそんなに多くのコンピュータが必要なのかを自問する必要があるでしょう。それは彼が所有する5台の車ですべてのものを同じに保つ方法を尋ねるようなものです。
各マシンがプライマリマシンではできないことを自問することをお勧めします。
あなたは良いラップトップを考えましたか?
これらがすべて家にある場合は、サーバーをセットアップしてすべてのものをそこに保管できます。次に、バックアップするデータを備えた1台のマシンがあります。
それらがリモートマシンである場合は、Linux vpsを入手して、そこにリモートのものを保存することを検討してください。 github、dropboxなどの無料のオンラインサービスは使用しないでください。間違ったときに消えてしまう可能性があります。
荷物の保管にAWSを使用しないでください。 $ 0.1 /月/ GB、つまり$ 100 /月/ TB、または$ 1200 /年/ TBです。そのお金で、約15台のWestern Digital 1TBハードドライブを購入できます。
あなたがビジネスを運営してそれからお金を稼ぐなら、あなたが得ることができる最高のサービスを使ってください、しかし正直なところ、ハードドライブを打ち負かして多くのデータを移動させるのは難しいです。 32GBのマイクロUSBドライブでさえ爪のサイズであり、多くのデータを移動することができます...
クラウド、プライベートクラウドがあります。たぶん、パーソナルクラウドがあるはずです...
Dropboxの代わりに Wuala を使用します。 1つの問題は、Linuxでのフォルダー監視の欠如です。基本的に、毎分すべてのファイルをスキャンします。彼らが言うように、次のバージョンはそのsomhowを修正するべきです。
Linuxでのリアルタイム同期は、inotifyの実装方法が原因で、何万ものフォルダ(gitリポジトリなど)がある場合に問題があります。単一のフォルダーごとに1つの「監視」が必要です。例を参照してください https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with- linux
Subversionから移行されたGit、次にCVSから移行されたもの。 fgit (免責事項:私による)pull
Push
、status
およびgc
の場合。
そこで何らかのクラウドインフラストラクチャを作成することを検討しましたか?どのワークステーションからservice/file/thingを抽象化する唯一の方法のようです。
buntu Cloud へのリンクです。