이 스크립트를 함께 사용하여 일일 단위로 포크 된 Github 저장소 폴더를 업데이트했습니다. 프롬프트에서 호출하면 정상적으로 실행되지만 cron 작업으로 실행할 때 id_rsa를 안정적으로 활용하는 방법을 파악할 수 있습니다. eval 'ssh-agent'
은이를 수행하기위한 시도이지만 긍정적 인 영향을 미치지는 않습니다.cron 작업을 통해 실행중인 bash 스크립트에서 SSH 키 액세스
#!/bin/sh
LOGPATH=log.txt
eval 'ssh-agent'
cd /path/to/update/folder
echo "-------START UPDATE-------">$LOGPATH
echo "Updating repos:">>$LOGPATH
date "+%F %T">>$LOGPATH
COUNT=1
find . -maxdepth 1 -type d | while read dir; do
cd "$dir"
LEN=$"${#dir}"
if [ $LEN != "1" ]
then
echo "*********">>$LOGPATH
echo "$COUNT. " ${dir:2}>>$LOGPATH
/usr/local/bin/git pull upstream master>>$LOGPATH 2>> $LOGPATH
/usr/local/bin/git push origin master>>$LOGPATH 2>> $LOGPATH
let COUNT=COUNT+1
fi
cd "$OLDPWD"
done
echo "-------END UPDATE-------">>$LOGPATH
exit 0
이것은 일반적으로 프로세스를 진행하는 데 매우 비효율적 인 방법 일 수 있지만 작동하지만 실제로는 볼 수 없습니다. 내 신임을 사용하도록 할 수 있다면, 나는 기뻐할 것입니다.
나는 ssh-add를 실행 한 적이 없지만 OS X을 사용하고 있으므로 추측이 모두 나를 위해 일어납니다. 암호를 사용하지 않고 ssh-add를 사용하여 키를 생성하면 트릭이 완료된 것 같습니다. 그레그 (Greg)가 제안한대로 .ssh/config의 호스트 비트도 만들었습니다. 이제 작동합니다! 감사 –