Спасибо за живое обсуждение.
Решил вопрос следующим образом.
Написал переделал
скрипт /etc/pgsql-backup
# ! /bin/sh
# Зададим переменные
DATE=$(date +%Y%m%d)
FTP="192.168.1.88"
FTPU="66613"
FTPP="66613"
#переходим в директорию, в которую временно падают бэкапы
cd /home/p1ter/Downloads/pg_backups
#База dev_db8n_buh
pg_dump -U postgres dev_db8n_buh | gzip > $DATE-dev_db8n_buh.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-dev_db8n_buh.pgsql.gz
quit
END
#База dev_db8n_zup
pg_dump -U postgres dev_db8n_zup | gzip > $DATE-dev_db8n_zup.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-dev_db8n_zup.pgsql.gz
quit
END
#База prd_db8n_buh_ab
pg_dump -U postgres prd_db8n_buh_ab | gzip > $DATE-prd_db8n_buh_ab.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-prd_db8n_buh_ab.pgsql.gz
quit
END
#База prd_db8n_buh_v
pg_dump -U postgres prd_db8n_buh_v | gzip > $DATE-prd_db8n_buh_v.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-prd_db8n_buh_v.pgsql.gz
quit
END
#База prd_db8n_buh_v2
pg_dump -U postgres prd_db8n_buh_v2 | gzip > $DATE-prd_db8n_buh_v2.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-prd_db8n_buh_v2.pgsql.gz
quit
END
#База prd_db8n_ziup_ab
pg_dump -U postgres prd_db8n_ziup_ab | gzip > $DATE-prd_db8n_ziup_ab.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-prd_db8n_ziup_ab.pgsql.gz
quit
END
#База prd_db8n_ziup_v
pg_dump -U postgres prd_db8n_ziup_v | gzip > $DATE-prd_db8n_ziup_v.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-prd_db8n_ziup_v.pgsql.gz
quit
END
#База prd_db8n_ziup_v2
pg_dump -U postgres prd_db8n_ziup_v2 | gzip > $DATE-prd_db8n_ziup_v2.pgsql.gz
#Льем все это на ftp
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
put $DATE-prd_db8n_ziup_v2.pgsql.gz
quit
END
#Уборка
rm -f $DATE-dev_db8n_zup.pgsql.gz
rm -f $DATE-dev_db8n_buh.pgsql.gz
rm -f $DATE-prd_db8n_buh_ab.pgsql.gz
rm -f $DATE-prd_db8n_buh_v.pgsql.gz
rm -f $DATE-prd_db8n_buh_v2.pgsql.gz
rm -f $DATE-prd_db8n_ziup_ab.pgsql.gz
rm -f $DATE-prd_db8n_ziup_v.pgsql.gz
rm -f $DATE-prd_db8n_ziup_v2.pgsql.gz
Это, конечно, не алиас, но засунутый в crontab скрипт отрабатывает. Файлы оказываются на другом сервере.
Но не все так хорошо, как хотелось бы. Неприятной неожиданностью оказалось то, что архивы "повреждены" =-(
Залитые на ftp (FileZilla server 0.9.46 крутиться на W2008R2 Std sp1) архивы не открываются ни одним из архиваторов.
7zip пишет "Ошибка в данных '20140910-dev_db8n_buh.pgsql.gz'. Файл испорчен" и так по любому из 8 архивов.
# gunzip 20140910-prd_db8n_ziup_v.pgsql.gz
gzip: 20140910-prd_db8n_ziup_v.pgsql.gz: invalid compressed data--format violated
gzip -t возвращает так же "invalid compressed data--format violated"
Если распаковывать архивы до их передачи на фтп, все распаковывается красиво.
Пользователь решил продолжить мысль [time]10 Сентябрь 2014, 16:17:40[/time]:
Пробовал лить на другую машину с w2008r2 Std sp1, и на 2003. Результат идентичный.
Пользователь решил продолжить мысль 10 Сентября 2014, 16:51:27:
Если архивы бэкапов лить с помощью mc, то на ftp они в итоге нормально распаковываются.
Нашел
упоминание про режим передачи "Раньше главной проблемой было закачка бинарных файлов в txt-mode". Похоже, что это про данную ситуацию.
Подскажите, пожалуйста, как указать скрипту бинарный решим передачи явно?