Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5. Написать скрипт дампа данных на локальную машину. #8

Open
the-teacher opened this issue Jul 25, 2019 · 0 comments

Comments

@the-teacher
Copy link
Member

the-teacher commented Jul 25, 2019

Скрипт должен принимать

  • Адрес сервера с которого скачиваются данные
  • Логин
  • Пароль
  • Вероятно путь к SSH ключу

Данные должны сохраняться в рабочем каталоге проекта в yaml файле, чтобы не запрашивать их при повторном запуске скрипта.

yaml с данными должен быть исключен из GIT чтобы случайно его не опубликовать. Как вариант файл можно сохранять в домашнем каталоге пользователя.

Команды для формирования дампа на сервере

$ mkdir -p ~/DUMPS
$ rm -rf ~/.pgpass
$ echo localhost:5432:rails_app_db:rails:${PASSWORD} > ~/.pgpass
$ chmod 0600 ~/.pgpass
$ cd ~/DUMPS
$ pg_dump --format=custom --host=localhost --username=rails --file=open-cook.ru.rails_app_db.${DUMP_TIME_STAMP}.pq.sql rails_app_db
$ rm -rf ~/.pgpass
$ mkdir -p ~/DUMPS

$scp -o 'ForwardAgent=yes' -i ~/.ssh/mac_air_rsa [email protected]:~/DUMPS/open-cook.ru.rails_app_db.${DUMP_TIME_STAMP}.pq.sql ~/DUMPS/open-cook.ru.rails_app_db.${DUMP_TIME_STAMP}.pq.sql

Загрузить в PG на локалке

pg_restore -h localhost -d rails_app_db -U rails ~/DUMPS/open-cook.ru.rails_app_db.${DUMP_TIME_STAMP}.pq.sql

Скопировать файлы через RSync

$ mkdir -p ../public
$ rsync -e 'ssh -i ~/.ssh/mac_air_rsa' -chavzPr [email protected]:/home/rails/www/open-cook.ru/production/SHARED/public/uploads ./public
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant