2017-03-17 3 views
0

나는 내 웹 사이트에 여러 개의 웹 사이트가 있습니다. 보안 레이어가 있기 때문에 심볼릭 링크를 사용할 수 없으며 계정에서 계정까지 포함 할 수 없습니다. 그러나 나는 같은 계정의 여러 계정이 될 스크립트 세트입니다.찾기 및 파일 또는 폴더를 SSH에서 이름으로 찾기 및 바꾸기

변경 사항이있을 때마다 각 개별 ftp 계정에 이러한 스크립트를 업로드하는 대신 저를 위해 간단한 bash 스크립트를 갖고 싶습니다.

그래서 SSH를 통해 수행하고자하는 작업은 이름이 지정된 디렉토리 (예 : "ThisUniqueFolder")로 호스팅 서버를 검색 한 다음 해당 디렉토리 내의 모든 파일을 업로드하고 해당 파일의 업데이트 된 버전으로 대체하는 것입니다 내 로컬 서버에 저장됩니다.

이 디렉토리 "ThisUniqueFolder"는 호스팅 서버의 여러 위치에 존재한다는 점에 유의하십시오.

+0

... 호스팅 서버의 "ThisUniqueFolder"라고 모든 디렉토리를 찾아 로컬 서버의 "ThisUniqueFolder"에 업데이트 된 파일을 "ThisUniqueFolder"파일을 대체합니다. –

+1

적절한 도구를 사용할 수 있습니다. ('rsync -uav ThisUniqueFolder/remote.server.tld :/path/to/ThisUniqueFolder') ** 후행 **' '/''에주의하거나''/ ''를 생략하고'rsync - uv ThisUniqueFolder remote.server.tld :/경로/to'. –

답변

1

ssh을 사용하여 모두 ThisuniqueFolder을 찾은 다음 rsync을 사용하여 모두 업데이트 할 수 있습니다.

user의 암호가 remote_host 인 것을 피하려면 ssh-i identity_file을 사용하십시오. 그래서 예를 들어

#!/bin/bash 
for f in `ssh -i /path/to/identity_file [email protected]_host 'find /remote/search/directory -name "ThisUniqueFolder" -type d'` 
do 
    rsync -avu -e 'ssh -i /path/to/identity_file' ThisUniqueFolder/ [email protected]_host:$f 
done 
+0

감사합니다. –