2013-01-03 2 views
1

cron으로 자동화해야하는 쉘 스크립트가 있습니다. 우리 사무실에는 cron을 사용하기 위해 로그인해야하는 특정 컴퓨터가 있습니다. 내 문제는 내가 작성한 스크립트가 git과 상호 작용하여 git 명령을 사용하여 코드를 추출하고 분기를 전환한다는 것이다. 내가 cron 작업을 예약 할 수 있고 스크립트가 실행되고있는 컴퓨터는 이 아니고이 아니라고합니다. git을 사용할 때 로그인하는 별도의 컴퓨터가 있습니다. cron 시스템에서 스크립트를 실행하고 git 시스템에서 git 부분을 실행하는 쉬운 방법이 있습니까?두 대의 컴퓨터에서 스크립트 실행

업데이트 : 아직 완료 할 수 있다면 여전히 관심이 있지만 우리 팀이 우리가 선택할 새 컴퓨터를 인수 했으므로 cron과 git를 갖게됩니다. 어떤 아이디어를 주셔서 감사합니다

+1

여러분은 시스템을 관리하는 사람들과 말을해야합니다. cron을 할 수있는 컴퓨터에 git을 설치하거나 다른 컴퓨터에 cron을 설치하십시오. 예, 우리는 다른 방법으로 문제를 해결하려고 노력함으로써 삶을 복잡하게 만들 수 있습니다. 그러나 스웨덴의 말처럼 "물을 잡으려고 강을 건너 라"는 것처럼 보입니다. –

+1

git을 설치하고 사용하려면 루트 일 필요는 없습니다. 소스 코드를 다운로드하고 적절한 설치 접두사를 사용하여 홈 디렉토리에 설치하십시오. 또는 정적으로 링크 된 버전을 가져 와서 홈 디렉토리에 배치하십시오. – er0

+0

@MatsPetersson 하하 나는 우리 시스템이 설정되는 방식에 만족스럽지 않다. 최근에는 나에게 많은 좌절감을 불러 일으켰다. 팁을 주셔서 감사합니다. – tcannon91

답변

1

어떤 사람들은 위에서 언급 한 것처럼 ssh이 이것을 수행하는 방법입니다. 이것은 내가 다른 서버에서 데이터 수집을 위해, 직장에서 많이 사용 떠들썩한 파티 라인 : 사용자 이름으로, 위의 코드 샘플은 IP를 $ 서버에 연결

ssh -T $server -l username "/export/home/path/to/script.sh $1 $2" 1>traf1.txt 2>/dev/null 

을하고 스크립트를 실행 script.sh, $ 1 및 $ 2 매개 변수를 전달합니다. 리디렉션 대신 스크립트의 다른 명령과 마찬가지로 명령 출력을 변수에 지정할 수도 있습니다.

PS : 위의 작업을 수행하려면 해당 컴퓨터간에 passwordless login을 설정해야합니다. 그렇지 않으면 스크립트가 중단되어 암호 입력을 요청하게됩니다. 이는 아마도 원하는 동작이 아닙니다.

관련 문제