여러 대의 컴퓨터를 사용하는 경우 모든 것을 어떻게 동기화합니까? [닫은]


31

지금은 4-5 대의 컴퓨터가 마음에 들어 모든 것을 동기화 할 수있는 더 나은 시스템이 필요합니다. 나는 git과 github을 사용하여 프로그래밍 프로젝트를 위해 파일을 동기화하지만 데이터베이스, .bash_profile 파일, bash 스크립트 등이 있습니다. 때로는 파일을 동기화하는 대신 한 컴퓨터에서 다른 컴퓨터로 ssh를 넣습니다. 그러나 이것은 상당히 혼란스러워지고 있습니다. 내 컴퓨터 중 일부는 Ubuntu이고 다른 컴퓨터는 OS X입니다.

여러 대의 개인용 컴퓨터에 걸친 워크 플로 관리에 대한 제안 사항이 있습니까?


1
어쩌면 내가 네트워크 공유 폴더를 시도해야
— dan

1
@rwong @dan이 처음에 "정상적인 답변"을 찾고 있다는 인상을 받았습니다. rsync 및 공유 폴더를 사용하여 어떻게 그를 도울 수 있는지 설명하는 답변을 게시하십시오.
— Adam Lear

1
매우 신중하게.
— greyfade

4
이것은 실제로 프로그래밍에만 국한되지 않습니다. 아마도 SU로 마이그레이션하는 것이 더 좋은 곳일까요?
— Walter

1
@FarmBoy-DB 유형에 의존 할 것입니다. 많은 파일이 실제로 파일 일뿐이므로 프로그래밍 문제가 아닌 파일 동기화 문제로 여전히 봅니다. 그리고 SU에 대해 훨씬 더 다양한 답변이있을 것이라고 생각합니다. 그냥 내 2 센트.
— Walter

답변:


15

git 리포지토리에는 Git과 다른 모든 것에 Unison 을 조합하여 사용합니다 . 여러 개의 단일 프로파일이 있으므로 특정 항목을 동기화하고 모든 것을 동기화하는 프로파일을 만들 수 있습니다. 또한 bash 스크립트가있어 동기화하고 동기화 한 모든 것을 동기화하고 모든 git 저장소를 업데이트합니다.

컴퓨터 동기화와 관련하여 Unison은 제 생각에 가장 좋습니다.


1
데이터베이스를 어떻게 동기화합니까? DDL 및 DML 변경 모두에 적용됩니까?
— Eric Wilson

현재 SQL / 데이터베이스 관련 작업을 수행하고 있지 않으므로 해당 질문에 적용 할 수 없으므로 해당 질문에 대답 할 수 없습니다. 나는 원래 질문의 그 부분을보고 싶었고 모든 코드와 프로필 정보를 어떻게 동기화합니까?
— sp0rus

Unison을 사용할 때 버전 충돌이 발생합니까? 그것들을 어떻게 최소화합니까?
— dan

변경하기 전에 항상 수동으로 동기화하여 최신 버전의 파일을 편집하고 있습니다. 또한 매일 밤 컴퓨터를 동기화하기위한 크론 작업 세트가 있습니다. 이 시스템을 고수함으로써 버전 충돌에 아무런 문제가 없었습니다. 내가 벗어나야했고 갈등이 발생했을 때, 나는 다른 것을 대체하고 싶은 것을 선택할 수있었습니다.
— sp0rus

15

드롭 박스

파일 동기화의 경우 DropBox가 알고있는 폴더 내에서 작업하는 것만 큼 쉽습니다. 메인 페이지의 비디오는 대부분의 설명을 수행하므로 기능에 대해 언급하지 않았습니다. 버전이 지정된 파일을 수정하기 만하면 DropBox가 자동으로 업로드 한 다음 DropBox가있는 다른 모든 컴퓨터에서 자동으로 최신 버전을 다운로드합니다.

데이터베이스와 같은 경우 심볼릭 링크가 갈 수 있습니다. DropBox 포럼 의이 스레드 는 MySQL 데이터베이스를 동기화하는 방법에 대한 통찰력을 제공합니다. 또는 "내보내기 / 가져 오기"스크립트 경로를 수행하거나 실제로 MySQL을 사용하는 경우 복제 및이 를 구현하는 방법 (DropBox를 사용하지 않는 MySQL의 기능)을 살펴볼 수 있습니다 .


Dropbox를 사용하여 데이터베이스를 동기화하는 방법을 모르겠습니다.
— Eric Wilson

보관 용 디렉토리와 정기적 인 데이터베이스 덤프 / 복원을 예약 할 수 있습니다.
— badgerr

6
@badgerr OP가 언급 한 다양한 시나리오에서 Dropbox를 사용하는 방법을 포함하도록 답변을 확장 해보십시오.
— Adam Lear

못 생겼어 DbMaintain과 같은 스크립트 러너를 사용하고 싶습니다.
— Eric Wilson

1
Anna가 언급 한 이유는 -1입니다. 답을
— 넓히면

7
  • 드롭 박스
  • 깃 허브
  • 북마크 / 이력 / Firefox 설정을위한 Firefox 동기화

1
정답과 드롭 박스가 맨 위에 있으면 +1입니다. 최근 오픈 소스 커뮤니티와의 PR 문제에 관계없이 dropbox는 매우 귀중합니다.
— Falmarri

3

물론 .bash_profile 파일 및 bash 스크립트를 포함하여 모든 코드에 github을 사용할 수 있습니다.

Hudson / Jenkins CI 서버는 여러 환경을 유지 관리하는 데 적합합니다. DbMaintain과 함께 사용하면 데이터베이스 동기화도 유지할 수 있습니다.

우리 팀은이 조합을 사용하여 4 개의 페어링 스테이션, 다양한 랩톱 및 CI, TEST 및 QA 환경 (서버 및 자체 DB 사본)을 동기화합니다.

여기에는 Windows 컴퓨터, Mac 랩톱 및 Linux 서버가 포함되므로 매우 유연합니다.


2

기계 별 설정을위한 분기와 함께 내 점 파일을 git에 유지합니다. 새 컴퓨터를 빠르게 설정할 수 있으며 스크립트를 공유하고 최신 버전으로 유지할 수 있습니다.


1

아마도 물러서서 왜 그렇게 많은 컴퓨터가 필요한지 스스로에게 물어봐야 할 것입니다. 마치 자신이 소유 한 5 대의 자동차에서 모든 물건을 똑같이 유지하는 방법을 묻는 사람과 같습니다.

나는 당신이 당신의 기본 머신이하지 않는 각 머신이 무엇을하는지 스스로에게 물어보고 그렇게하도록 제안 할 것입니다.

당신은 좋은 노트북을 고려 했습니까?

이것들이 모두 집 안에 있다면 서버를 설치하고 모든 것을 보관할 수 있습니다. 그런 다음 백업 할 데이터가있는 머신 하나만 있습니다.

그들이 원격 컴퓨터라면, 리눅스 vps를 가져 와서 원격 저장소를 저장하십시오. github, dropbox 등과 같은 무료 온라인 서비스는 잘못된 시간에 사라질 수 있으므로 사용하지 마십시오.

물건을 저장하기 위해 AWS를 사용하지 마십시오. GB 당 월 $ 0.1, 즉 $ 100 / 월 / TB 또는 $ 1200 / 년 / TB입니다. 그 돈으로 약 15 개의 Western Digital 1TB 하드 드라이브를 구입할 수 있습니다.

비즈니스를 운영하고 돈을 버는 경우 가능한 최고의 서비스를 사용하십시오. 그러나 솔직히 말하면 하드 드라이브를 이겨서 많은 데이터를 이동시키기는 어렵습니다. 32GB 마이크로 USB 드라이브조차도 손톱 크기이므로 많은 데이터를 이동할 수 있습니다 ...

클라우드, 프라이빗 클라우드가 있습니다. Personal Cloud가 있어야 할 수도 있습니다 ...


팁 주셔서 감사합니다. 컴퓨터가 5 대인데 그 중 3 대만 많이 사용하는데 3 대가 필요합니다. 집에있는 1 개의 Ubuntu 서버, 1 개의 Thinkpad Ubuntu 랩탑 (작업용) 및 1 개의 iOS 개발 용 Macbook Pro
— dan

0

Subversion에서 마이그레이션 된 Git은 CVS에서 마이그레이션되었습니다. fgit (면책 조항 : 내게로)에 대한 pull push, status그리고 gc.


0

거기에 일종의 클라우드 인프라 생성을 고려한 적이 있습니까? 어떤 워크 스테이션에 서비스 / 파일 / 사물이 있는지 추상화하는 유일한 방법 인 것 같습니다.

Ubuntu Cloud에 대한 링크는 다음과 같습니다 .


0

Dropbox의 대체품으로 Wuala를 사용 합니다. 한 가지 문제는 Linux에서 폴더 모니터링이 부족하다는 것입니다. 기본적으로 모든 파일을 1 분마다 스캔합니다. 다음 버전에서는 그 방법을 수정해야합니다.

inotify가 구현되는 방식으로 인해 수만 개의 폴더 (예 : git 저장소)가있는 경우 Linux에서 실시간 동기화에 문제가 있습니다. 모든 단일 폴더에 대해 하나의 "감시"가 필요합니다 (예 : https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux 참조).


당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.