git push, используя crontab каждый час, запрашивая пароль - PullRequest
0 голосов
/ 09 мая 2019

Я создал файл сценария оболочки для автоматической загрузки git-репозитория каждый час, используя crontab, как показано ниже:

backup.sh

cd /home/user/share/my_project && git commit -a -m "hourli crontab backup 'date'"
cd /home/user/share/my_project && git push origin branch1
send mypassword\r
wait

Проблема с этим кодом заключается в том, чтоgit использует ssh, и каждый раз, когда мы запускаем этот код с помощью bash ./backup.sh, запрашивает пароль в терминале.Не принимает пароль, указанный в сценарии оболочки.

1 Ответ

0 голосов
/ 09 мая 2019

Я согласен с комментариями, что это не лучшая практика.

Игнорируя это и взламывая в любом случае, вы должны заглянуть в git-credential-store . Пример из документов;

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

[several days later]
$ git push http://example.com/repo.git
[your credentials are used automatically]

Учетные данные будут храниться локально, в незашифрованном виде в ~/.git-credentials. Если это приемлемый компромисс, то он будет работать для вас. Просто убедитесь, что вы понимаете пользовательский контекст, в котором выполняется задание cron.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...