2009-03-17 3 views
1

저는이 카피스트라노 명령을했습니다.카피스트라의 심볼릭 링크 문제?

 
    task :symlink_shared do 
     run "rm -rf #{current_path}/config/database.yml" 
     run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml" 
     run "rm -rf #{current_path}/config/app_config.yml" 
     run "ln -nfs #{shared_path}/config/app_config.yml #{release_path}/config/app_config.yml" 

     run "rm -rf #{current_path}/public/records" 
     run "ln -nsf #{shared_path}/uploads/records #{release_path}/public/records" 
     run "rm -rf #{current_path}/public/documents" 
     run "ln -nsf #{shared_path}/uploads/documents #{release_path}/public/documents" 
     run "rm -rf #{current_path}/public/pdf_xmls" 
     run "ln -nsf #{shared_path}/uploads/pdf_xmls #{release_path}/public/pdf_xmls" 
     run "rm -rf #{current_path}/public/pdf_xml_files" 
     run "ln -nsf #{shared_path}/uploads/pdf_xml_files #{release_path}/public/pdf_xml_files" 
    end 

모든 것이 작동하고 심볼릭 링크도 만들어집니다. 그러나 마지막 명령 symlink는 symlink pdf_xml_files를 한 단계 안에 만듭니다. 즉, pdf_xml_files라는 디렉토리를 만들고 그 안에 pdf_xml_files 심볼릭 링크가 만들어집니다. 도움이 필요합니까 ??

+0

링크가 생성되기 전에 current_path, shared_path 및 release_path를 출력하고 결과로 답변을 편집 할 수 있습니까? –

+0

위의 런 캡 작업의 패티입니다. http://pastie.org/426393 – Autodidact

+0

행운이 있었나요? – Andy

답변

2

/home/deploy/weddingcards/releases/20090325105337/public/pdf_xml_files 디렉토리가 이미 존재합니다.

ln 명령은 해당 디렉토리를 찾고 디렉토리 내의 대상에 대한 심볼릭 링크를 작성하도록합니다.

/home/deploy/weddingcards/releases/20090325105337/public/pdf_xml_files를 제거한 경우 원하는 명령을 실행하십시오.

는 다른 방법으로 당신에 명령을 변경할 수 있습니다 :

run "ln -nsf #{shared_path}/uploads/pdf_xml_files #{release_path}/public/" 

과는 공용 디렉토리 내부의 심볼릭 링크를 생성합니다.

+0

이 내용을 확인하고 나중에 회신 해 드리겠습니다. – Autodidact