处理自动备份脚本中的登录

Jef*_*y04 2 shell backup mercurial dvcs login

我需要编写一个shell脚本来安排每天运行以使用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
Run Code Online (Sandbox Code Playgroud)

发出hg push命令后会显示登录提示.

Mar*_*ler 7

我同意您应该为非交互式登录配置备份脚本.一种方法是使用SSH密钥,更简单的解决方案是直接在URL中包含密码.

Mercurial 1.3使得在配置文件中包含HTTP密码变得更加容易.我现在有一个

[auth]
bb.prefix = https://bitbucket.org/mg/
bb.username = mg
bb.password = pw
Run Code Online (Sandbox Code Playgroud)

我的配置文件中的部分.这意味着您可以避免将密码存储在多个文件中,而只关注保护一个文件.

事实上,我正在使用另一个新功能,以避免输入密码~/.hgrc,因为我可能想要将该文件显示给其他人.相反,我有

%include .hgauth
Run Code Online (Sandbox Code Playgroud)

~/.hgrc~/.hgauth具有上述[auth]部分和单独是可读的我.