SSH/로컬 명령을 자동화하는 올바른 방법은 무엇입니까?

SSH/로컬 명령을 자동화하는 올바른 방법은 무엇입니까?

Centos 5.5 시스템에 gitolite가 있습니다. 저장소가 업데이트되면 새 명령을 받으려면 버그 추적 장치에 명령을 보내야 합니다. 이제 다음 명령을 사용할 수 있습니다.

ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod && exit'

그런데 이건 좀 더러운 것 같아요. 이 동기화를 수행하는 더 좋은 방법이 있습니까?

답변1

Makefile에 넣으세요.

sync:
↹ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod && exit'

그런 다음 실행하십시오.

$ make sync

이는 실제로 탭 문자입니다. 입력 방법은 편집자의 설명서를 참조하세요(그러나 CtrlVTab작동할 수도 있음).

답변2

다음과 같은 스크립트를 작성할 수도 있습니다.예상되는, 그러나 아마도 그렇게 간단한 일을 하기에는 너무 복잡할 것입니다. 나는 과거에 원격 전원 스위치를 기록하고 특정 포트를 순환하는 데 이를 사용했으므로 이 애플리케이션에도 사용할 수 있다고 확신합니다.

답변3

다음은 bash 쉘을 사용한다고 가정하는 두 가지 추가 솔루션입니다. 첫 번째는 작업을 수행하는 함수를 만들어 ~/.bashrc 파일에 배치하는 것입니다.

function bugsync() {
    ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod'
}

두 번째는 별칭을 만드는 것입니다.

alias bugsync="ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod'"

명령의 "&& 종료" 부분을 지정할 필요가 없습니다.

답변4

옵션을 고려한 후 명령을 수정하고(제거 && exit) 단순성을 위해 그대로 두기로 결정했습니다.

관련 정보