이것이 가능한지 확실하지 않습니다. 기본적으로, 나는 내 호스트에 파일을 scp 수 있도록 스크립트를 쓰고 있어요. 이것은 지금까지입니다. 인수 1은 파일 및 인수 2는 내가이 원격 서버에 배치 할 폴더입니다 : 당신이/알 수 없습니다다시피 내가 '기능이 아무튼 호출 할 때ssh-ing없이 원격 호스트에 디렉토리를 생성하려면 어떻게해야합니까?
function upload {
scp $1 [email protected]:$2
}
는, 사용자가 지정한 디렉토리 경우 존재하지 않으면 전송이 실패합니다. 함수에 디렉토리가 존재하는지 확인하는 방법이 있습니까? 그렇지 않으면 생성하십시오.
언제나 ssh를 사용하고 디렉토리를 만들지는 않겠지 만 선택의 여지가 없다면 선택의 여지가 없습니다.
이것은 나를 위해 작동하지 않습니다 (단지 대상 디렉토리가 존재하지 않는다고 불평합니다) - rsync의 최근 버전이 필요합니까? 그러나'rsync -R'는 로컬 파일이 적절하게 이름 붙여진 디렉토리에 있다면 원하는 결과를 얻기 위해 사용할 수 있습니다. 예를 들면 :'rsync -Rave ssh some/nonExisting/dirToCopyTo/fileToCopy ssh.myhost.net : /' –
@MartinKleppmann 나는 이것을 사용하지 않는 디렉토리에 대해 불평 만한다. 실제로이 작업을 목격 한 적이 있습니까? 그렇다면 rsync 프로그램과 다른 점을 파악하는 데 관심이 있습니다. – DougW
아, 복사 할 디렉토리의 한 수준 만 만들면됩니다. 나는/var/www/myapp/test /에 배포하려고 시도했다. 서버에/var/www/만 있으면 실패했습니다./var/www/myapp /를 만들 때, 테스트 폴더를 생성하고 모든 것을 복사했습니다. 따라서 하나 이상의 디렉토리 구조를 생성해야한다면 아래의 @ire_and_curses와 같은 솔루션이 필요합니다. – DougW