#!/bin/sh # Этот скрипт копирует БД mycooldb на локальный хост разработчика. #------------------------------------
# определяем IP машины, с которой подключился пользователь "cooluser" vmhost=`netstat -tapen | grep "sshd: cooluser" | head -n1 | awk '{split($5, a, ":"); print a[1]}'` savebase="/home/cooluser" dumpname="temp_postgres.dump" savepath=$savebase"/"$dumpname #------------------------------------
# Сохраняем полный дамп базы "mycooldb". sudo -u postgres pg_dump -Fc -C -c mycooldb > $savepath # Восстанавливаем базу на локальном хосте разработчика. # Если база уже существует, удаляем её целиком. Иначе могут быть проблемы с восстановлением. if psql -U postgres -h $vmhost -lqt | cut -d \| -f 1 | grep -w 'mycooldb'; then dropdb -U postgres -h $vmhost mycooldb fi # Создаём пустую базу. createdb -U postgres -h $vmhost mycooldb # Заполняем её. pg_restore -U postgres -h $vmhost --single-transaction --disable-triggers -Fc -d mycooldb $dumpname # Удаляем временный файл. rm $savepath