2012-01-25 26 views
1

プライベートネットワーク上のファイルを複数のWindowsマシンから中央のLinuxマシンにコピーする方法を改善したり、完全に変更する必要があります。これがどのように機能するかは、以下のスクリプトを5分ごとにcronジョブとして実行して、共有フォルダを持つ10台のWindowsマシンのデータを毎日収集される中央のLinuxマシンにコピーすることです。理論的には、Linuxマシンの終わりには、Windowsマシン上で変更されたすべてのデータが必要です。LinuxからWindowsへのコピーネットワークスクリプト

#!/bin/sh 
USER='/home/user/Documents/user.ip' 
IPADDY=$USER 
USERNAME=$USER 
while read IPADDY USERNAME; do 
mkdir /mnt/$USERNAME 
mkdir /home/user/Documents/$USERNAME 
smbmount //$IPADDY/$USERNAME /mnt/$USERNAME -o username=usera,password=password,rw,uid=user 
rsync -zrv --progress --include='*.pdf' --include='*.txt' --include='issues' --exclude='*' /mnt/$USERNAME/ /home/user/Documents/$USERNAME/ 
done < $USER 

スクリプトが正常に動作しますが、すべてのデータが正しくコピーされて渡ったりないデータがコピーされていない多くの時間として最善の方法ではないようです。

あなたがこれが最善のアプローチであると思いますか、誰かがより良い解決策を教えてくれると思いますか?

+0

データは正しくコピーされません。データ 'rsync'をプルするのは良い選択です。他のクライアントに追加のソフトウェアをインストールしたくないと思いますか? –

+0

これらの情報要素で上記の質問を編集すると役立ちます。あなたが引っ張っている「データ」のタイプは何ですか? 2.それを作成するプロセスは常に実行されていますか? 3.もしそうなら、結合データが悪い理由は同期化の問題ですか? 4.それでも継続すれば、データのシステムが静かであることを知るために、毎日特定の時間に実行する個別プロセスを取得できますか?がんばろう。 – shellter

答えて

1

gitリポジトリはどうですか?それは簡単ではないでしょうか?あなたは簡単に変更を追跡することもできます。

+0

+1 '問題の目の代替セット' ;-) – shellter

+0

GITは、異なるノートパソコンからファイルを収集し、すべてのデータをコピーするのに役立つだろうか? – Grimlockz

+0

@Grimlockz:はい。この方法でgitを使うことができます。 gitの観点からは、マスターから1つのマスターブランチと他の多くのブランチを作成できます。次に、各ブランチからmasterブランチへの変更をマージする必要があります。 –

関連する問題