자동 백업 스크립트에 로그인 처리
문제
Mercurial을 사용하여 디렉토리를 백업하기 위해 매일 실행할 예정인 쉘 스크립트를 작성해야합니다. 스크립트가 실행되는 동안 자동화 된 로그인을 수행하는 방법을 찾을 수 있다는 점을 제외하고는 대부분의 사용 사례가 완료되었습니다.
for REPOSITORY in $@
do
cd $REPOSITORY
# commit the changes
hg commit -A -m "Commit changes `date`"
# push the changes to the remote repository
if hg push
then
logger hg push success
else
logger hg push failure
fi
done
HG 푸시 명령이 발행 된 후 로그인 프롬프트가 표시됩니다.
해결책
Mercurial은 사용자 이름과 비밀번호를 저장소 URL에 넣을 수 있습니다.
hg push http://username:password@hg.myco.com/repo
명령 줄에 URL을 넣고 싶지 않으면 편집 할 수 있습니다. hgrc
로컬 저장소 파일을 파일하고 사용자 이름과 비밀번호를 default-push
URL :
default-push = http://username:password@hg.myco.com/repo
이것은 어떤 의미입니다 hg push
에 지정된 사용자 이름을 사용합니다 hgrc
파일.
다른 팁
비 결과 로그인에 대한 백업 스크립트를 구성해야한다는 데 동의합니다. 한 가지 방법은 SSH 키를 사용하십시오 더 간단한 솔루션은 비밀번호를 URL에 직접 포함시키는 것입니다.
Mercurial 1.3을 사용하면 구성 파일에 HTTP 비밀번호를 훨씬 쉽게 포함시킬 수 있습니다. 나는 이제 a
[auth]
bb.prefix = https://bitbucket.org/mg/
bb.username = mg
bb.password = pw
내 구성 파일의 섹션. 즉, 비밀번호를 여러 파일에 저장하지 않고 하나의 파일 보안에만 집중할 수 있습니다.
사실, 나는 암호를 넣지 않기 위해 또 다른 새로운 기능을 사용하고 있습니다. ~/.hgrc
, 나는 그 파일을 다른 사람에게 보여주고 싶을 수도 있습니다. 대신 나는 가지고있다
%include .hgauth
안에 ~/.hgrc
그리고 ~/.hgauth
위의 내용이 있습니다 [auth]
섹션과 나 혼자 읽을 수 있습니다.