#!/bin/sh
# Задаем переменные
DATE=$(date +%F)
TIME=$(date +%H:%M:%S)
DATESTART=$DATE"_"$TIME"-"
PREFIX="prefix_"
DB="database_name"
FTP="ftp_server_address"
FTPU="ftp_user"
FTPP="ftp_password"
# Резервное копирование
cd /var/lib/postgresql
# Пишем лог
echo $DATE "Операция резервного копирования начата в "$TIME >> /var/log/postgresql/pgsql_backup.log
# Создаем дамп
pg_dump -U postgres $DB | gzip > $PREFIX$DATESTART$DB.pgsql.gz
# Заливаем на FTP
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
bin
passive
put $PREFIX$DATESTART$DB.pgsql.gz
quit
END
## Пишем лог
echo " -> Копия залита на FTP." >> /var/log/postgresql/pgsql_backup.log
# Перемещаем в общее хранилище
mv $PREFIX$DATESTART$DB.pgsql.gz backup/$PREFIX$DATESTART$DB.pgsql.gz
# Пишем лог
echo " -> BACKUP сохранен в /var/lib/postgresql/backup/"$PREFIX$DATESTART$DB.pgsql.gz"." >> /var/log/postgresql/pgsql_backup.log
# Пишем лог
DATESTOP=$(date +%F)
TIMESTOP=$(date +%H:%M:%S)
echo " -> Операция завершена "$DATESTOP" в "$TIMESTOP"." >> /var/log/postgresql/pgsql_backup.log
Префикс - это идентифиактор принадлежности базы к владельцу. Я у себя так помечаю какому предпринимателю принадлежит база, ибо на сервере их несколько (предпринимателей). Или если фирма одна а баз несколько, например производство, реализация и т.д.
Скрипт ложим в /var/lib/pgsql. Делаем его выполняемым, владелец - postgres:postgres.
В крон - задание на выполнение от имени postgres.
Скрипт с боевого сервера 1С, работает как часы. Вот только скрипт писан под сервер на Ubuntu. Думаю будет не особо сложно его допилить чтобы он забирал базу по сети с Win-сервера.
Зы. Я привел свой полностью рабочий вариант, возможно он Вам пригодится. Может появятся ГУРУ, которые помогут со вторым вопросом - запустить всю эту канитель в том варианте, в котором она работает у Вас.
Хотя, что-то мне подсказывает, что на Win-сервере есть а-ля PgAdmin. И с помощью пакета утилит что идут с PostgreSQL для оффтопика можно делать бэкапы этими средствами. Например в MSSQL бэкапы делаются с пол-пинка. Не удивлюсь если тут точно так же. Если это так - все что Вам нужно будет сделать - это настроить по крону копирование с оффтопика на Ubuntu уже готовых баз.