Skip to content

4. (ОТЛОЖЕНО) Написать скрипт дампа данных на локальную машину. Для дальнейшего написания скрипта по обфускации данных, для выкладки в открытый доступ. #4

@the-teacher

Description

@the-teacher

ОТЛОЖЕНО

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

  • Адрес сервера с которого скачиваются данные
  • Логин
  • Пароль
  • Вероятно путь к 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 rails@100.100.100.100:~/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 rails@100.100.100.100:/home/rails/www/open-cook.ru/production/SHARED/public/uploads ./public

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions