2012-01-25 5 views
1

개인 네트워크의 파일을 여러 Windows 컴퓨터에서 중앙 Linux 컴퓨터로 복사 할 때 내 방법을 향상 시키거나 완전히 변경해야합니다. 이 방법의 작동 원리는 아래의 스크립트를 5 분마다 cron 작업으로 실행하여 공유 폴더가있는 10 대의 Windows 컴퓨터에서 매일 수집되는 중앙 Linux 시스템으로 데이터를 복사하는 것입니다. 이론적으로 리눅스 머신은 하루가 끝날 때 Windows 머신에서 변경된 모든 데이터를 가지고 있어야합니다.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

위 정보를 통해 위의 질문을 편집하는 것이 도움이 될 수 있습니다. 1. 당기는 '데이터'유형은 무엇입니까? 2. 프로세스를 생성하는 프로세스가 지속적으로 실행되고 있습니까? 3. 그렇다면 조합 된 데이터가 잘못된 이유가 동기화 문제입니까? 4. 그렇게 계속된다면, 당신은 당신의 데이터 '시스템'이 조용하다는 것을 알기 위해 당신이 매일 특정 시간에 실행을 멈추게 할 수 있습니까? 행운을 빕니다. – shellter

답변

1

git 저장소는 어떻습니까? 더 쉬울까요? 변경 사항을 쉽게 추적 할 수도 있습니다.

+0

+1 '문제의 눈을 교체하십시오';-) – shellter

+0

GIT가 다른 랩톱에서 파일을 모으고 모든 데이터가 복사되는지 확인하는 방식으로 작동합니까? – Grimlockz

+0

@Grimlockz : 예. 이런 식으로 git을 사용할 수 있습니다. git 관점에서 하나의 master 브랜치와 master 브랜치를 만들 수 있습니다. 그런 다음 각 분기의 변경 사항을 마스터 분기에 병합해야합니다. –

관련 문제