svn 백업 bash 스크립트 오류

svn 백업 bash 스크립트 오류

svn 저장소의 덤프를 생성하기 위해 bash 스크립트를 만들었습니다. 각 저장소 스크립트를 덤프한 후 rsync를 사용하여 이를 원격 서버로 보내고 덤프 위치에서 삭제한 후 다음 저장소 덤프를 시작하는 기능을 추가하고 싶습니다. 다음 스크립트를 사용하고 있습니다.

스크립트에는 개선에 도움이 되는 몇 가지 오류가 있습니다.

#!/bin/sh

# Record todays date
# --------------------
bakdate=$(date +%Y%m%d)
echo "--------------------------------"
echo "Running SVN backup $bakdate"
echo "--------------------------------\n"

# From where to backup repos?
# ---------------------------
svnrepos="/kk/svn/"
echo "\nGoing to backup all SVN repos located at: $svnrepos \n"

# Where to save the dump?
# ------------------------
bakdest="/save/"

# Location of remote server (to copy backup)
# ----------------------------------------
baktoremote="[email protected]:/kk"

   cd $svnrepos


# Just make sure we have write access to backup-folder
if [ -d "$bakdest" ] && [ -w "$bakdest" ] ; then
  # Now $repo has folder names = project names
  for repo in *; do
    # do svn dump for each project
    echo "Taking backup/svndump for: $repo"
    echo "Executing : svnadmin dump $repo >
$bakdest/$repo-$bakdate.dump \n"
    # Now finally execute the backup
    svnadmin dump $repo > $bakdest/$repo-$bakdate.dump


# Just make sure we have write access to backup-folder
if [ -d "$bakdest" ] && [ -w "$bakdest" ] ; then
  # Now $repo has folder names = project names
  for repo in *; do
    # do svn dump for each project
    echo "Taking backup/svndump for: $repo"
    echo "Executing : svnadmin dump $repo >
$bakdest/$repo-$bakdate.svn.dump \n"
    # Now finally execute the backup
    svnadmin dump $repo > $bakdest/$repo-$bakdate.dump

    # sent it to remote server 

 rsync -avP $bakdest/$repo-$bakdate.dump $baktoremote



  # delete repository after sending  

    rm -rf $repo-$bakdate.dump

    fi

답변1

if 블록 종료fi

사이클을 끝내다done

각 사람은 if일대일로 대응해야 하고 fi, 각 사람은 do일대일로 대응해야 합니다 done.

관련 정보