하위 폴더가있는 폴더를 검색 할 수 있습니까?


31

정적 웹 사이트의 파일이 들어있는 폴더가 있습니다.

/site/index.html
/site/css/css.css
/site/js/js.js
/site/images/...

랩톱에서 무언가를 업데이트하면 단일 명령으로 파일을 우분투 서버로 보내려고합니다. scp가 이것을 처리 할 수 ​​있을지 궁금해하지 않으면 FTP를 설정하고 싶지 않습니다.


나는 다음을 tar통해 선호합니다 ssh: unix.stackexchange.com/a/10028/79839
병아리

답변:


56

이 명령 scp -r source user@target:dest소스의 모든 서브 디렉토리를 걷고 복사합니다.

그러나 소스와 대상 모두에서 동일한 경우에도 파일은 동일하게 scp작동 cp하며 항상 파일을 복사합니다. [ 해결 방법 은 여기 를 참조 하십시오 .]

이것은 정적 웹 사이트이므로 전체를 다시 만들지 않고 업데이트 만 할 가능성이 높으므로 rsync대신 ssh 대신 사용하면 작업이 더 빨리 진행됩니다 scp. 아마 같은

rsync -av -e ssh source user@target:dest

... 시작합니다. LAN을 통해이 작업을 수행하는 경우 개인 옵션 -avW대신을 사용합니다 rsync.

Rsync는 또한 소스에서 삭제를 복제 할 수있는 기능을 제공합니다. 따라서 트리에서 파일을 제거하면 rsync위와 같이 실행 하고 플래그를 포함시킬 수 --delete있으며 대상 측에서 동일한 파일을 제거합니다.


9

scp에는 원하는 것을 수행하는 재귀 플래그가 있습니다. scp -r /base/directory user@server:/to/location

...에서 man scp

-r      Recursively copy entire directories.  Note that scp follows symbolic
          links encountered in the tree traversal.

2

다른 사람들이 지적한 것처럼 scp -r 및 rsync -r은 원하는 것을 얻는 가장 신뢰할 수있는 방법입니다.

sshfs를 사용하여 마치 로컬 드라이브 인 것처럼 '마운트'할 수 있습니다. sshfs user@host:/site /mnt/mountpoint

(그러나 로컬에서 작업하고 rsync로 배포하는 것이 좋습니다. 다른 도구 만 알고 있으면됩니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.