디렉터리 백업을 위한 쉘 스크립트

디렉터리 백업을 위한 쉘 스크립트

저는 Windows에서 Eclipse를 실행하고 있으며 모든 프로젝트의 src 디렉터리를 자동으로 백업하고 싶습니다. cygwin을 설치하고 간단한 백업 스크립트를 만들어 보려고 했는데 대상 파일명을 정확하게 지정하는 데 문제가 있습니다. 백업은 스크립트의 현재 디렉터리에 있어야 합니다.

#!/bin/bash


for f in /cygdrive/c/Documents\ and\ Settings/USERNAME/My\ Documents/Eclipse\ Workspace/*
do
        echo "in folder \"$f\""
        cp -a "$f"/src/ ./????.bak

done

제 생각에는? ? ? ? 프로젝트 폴더입니다(절대 경로 아님). 감사해요.

답변1

당신이 찾고있는 쉘 구조는 다음과 같습니다dirname.

for f in /cygdrive/c/Documents\ and\ Settings/USERNAME/My\ Documents/Eclipse\ Workspace/*
do
    cp -a "$f/src/" "./$(dirname "$f").bak"
done

그러나 실제로 이것은 좋은 백업 솔루션이 아닙니다. 복사본이 실행될 때마다 이전 상태가 삭제됩니다. 그리고 전혀 기록을 제공하지 않습니다.버전 제어 사용. 무엇이든 사용해 보세요.CVS(한 시간 안에 유용한 기능을 배울 수 있습니다). 어떤 버전 제어 시스템을 선택하든:

  1. 저장소를 만듭니다.
  2. 기존 파일을 체크인하거나 가져옵니다.
  3. 작은 작업을 완료할 때마다 커밋하세요.

답변2

git이나 hg(mercurial) 같은 소스 코드 관리 시스템을 사용하는 것이 좋습니다. 개인 프로젝트인 경우 BitBucket에는 충분한 무료 개인 프로젝트 저장소가 있습니다(프로젝트의 인원이 10명 미만인 경우). Git은 Windows에서 잘 작동하며, 다른 곳의 저장소와 동기화할 수 있는 EGIT라는 Eclipse 플러그인이 있습니다. 프로그래밍의 경우 백업 스크립트를 작성하는 대신 이 작업을 수행하는 것이 좋습니다.

관련 정보