2013-10-28 1 views
0

원격 서버 (bServer)에 중앙 서버에 SSH가 있고 (스크립트를 cServer로 허용) SSH가 다른 다른 서버 (server13/server14), 파일을 생성하는 각 서버에서 스크립트가 실행됩니다.CRON 작업으로 실행했을 때 스크립트의 SCP가 작동하지 않습니다.

DSA SSH의 키를 cServer에서 server13/14로 설정했습니다. 그러면 cServer는 server13/14에서 생성 된 파일을 가져온 다음 bServer가 cServer에서 가져온 파일을 가져옵니다.

수동으로 실행하면 완벽하게 작동합니다.

그러나 ... CRON의 bServer에서 작업을 예약하면 server14의 파일이 cServer로 가져 오지 않습니다.

다음은 흥미로운 내용입니다. server14의 ssh 또는 scp 명령이 동일한 스크립트에있는 경우 server13의 파일이 cServer에서 bServer로 전송되지 않습니다.

별도의 스크립트로 작성한 경우 server13 파일은 bServer fine으로 돌아가지만 server14 파일은 PRODUCED이며 다시 cServer로 전송되지 않습니다.

server13과 server14 모두 동일한 SunOS 빌드를 실행 중입니다.

비슷한 문제에 대해 여러 가지 해결책을 읽었지만 해결 방법을 찾지 못했습니다.

이것은 내가 겪어 본 가장 성가신 문제입니다. 어떤 도움을 주시면 감사하겠습니다!

+1

http://superuser.com/에서 질문해야하지만 스크립트에서 scp를 사용하려면 서버에서 공개 키를 복사해야한다는 것을 기억합니다. – kmas

+0

실행중인 작업에 crontab 항목을 제공 할 수 있습니까? – Signal15

답변

0

cron을 통해 작업을 실행할 때 사용자 환경이 유지되지 않습니다. 이미 cron 스크립트를 소유 한 사용자로 원격 서버에 로그인 한 경우, 대신 진단을 위해 at 명령을 사용하여 동일한 스크립트를 실행 해보십시오. 당신이 -f my_script를에 my_script를라는 실행 스크립트, 다음 명령

에 명령을 넣을 경우

는 0936.00 9 36 시간 분 명령 my_script를 실행합니다. 작동한다면 cron에서 환경의 필수 구성 요소 중 일부가 누락되었음을 알 수 있습니다.