2012-11-11 4 views
0

와 원격 서버에서 디렉토리의 이름을 변경 I 사용 renamig 디렉토리에 다음과 같은 문제했습니다 : 나는 (단지에만 이름 변경) 같은 경로에 app1_backup하는 APP1 디렉토리의 이름을 변경하고 싶습니다패브릭

$> mv /homex/p4blo/testWebDir/app1 /homex/p4blo/testWebDir/app1_backup 

합니다. app1_backup 폴더가 없으면 괜찮습니다. 그렇다면 app1_backup/app1에 app1 토지가 있습니다.

어떻게해야합니까? 예를 들어, 처음에 app1_backup 디렉토리가있는 경우 새 app1_backup 폴더 (app1에서 이름이 바뀐 폴더)로 대체해야합니다.

답변

0

fabric.run에 전달하는 명령은 기본적으로 셸 프로세스 (예 : /bin/bash -l -c "<command>")를 통해 실행됩니다. 어떤 종류의 쉘 스크립트라도 자유롭게 사용할 수 있습니다 :

run(''' srcdir=/homex/p4blo/testWebDir/app1 
     [[ -e ${srcdir}_backup ]] && rm -rfv ${srcdir}_backup 
     [[ -e ${srcdir} ]] && mv -v ${srcdir} ${srcdir}_backup ''') 
관련 문제