Я пытаюсь создать сценарий sync.sh
который согласуется с нашим не совсем идеальным контролем версий для нашего веб-сайта. Этот скрипт перенесет живую копию базы данных в нашу среду разработки и еще пару вещей. У меня проблемы с частью миграции MySQL.
Этот скрипт запускается на компьютере разработчика. remote
это живой хост.
# --------------
# database
# ssh tunnel
ssh -L 3307:remote:3306 user@remote
# mysql dump
mysqldump -u someuser -h remote -P 3307 -p"p4ssw0rd" db > localfile.sql
# somehow close ssh tunnel ???
# populate local db with sql dump file
mysql -ulocal db < localfile.sql
# -----------------
# other sync stuff
# ...
Когда я просто запускаю часть скрипта mysql, я получаю такой вывод:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Enter password:
У нас настроены ssh-ключи, и я могу правильно подключить ssh к пульту. Однако при запуске в контексте скрипта все идет не так. Я думаю, что я просто нуб. Я предполагаю, что если я просто изменю структуру моего подхода, у меня не должно быть проблем. Я просто не уверен, как это сделать ...