Это старая версия документа!
nano /opt/bakup.sh
<pre> #!/bin/sh
BAK_DIR=«/home/disk1/sql_bases/s1c» DATE=`date +%d.%m.%Y-%H%M`
ssh root@bs «mkdir $BAK_DIR/$DATE»
for base in ` su -l postgres -c «psql -U postgres -Aqt -c 'select datname from pg_database;'«` do su -l postgres -c «pg_dump $base» | ssh root@bs «gzip > $BAK_DIR/$DATE/$base.sql.gz» done
ssh root@bs »/home/disk1/sql_bases/clean.sh $BAK_DIR»
</pre>
nano /etc/cron.d/backup-postgresql <pre> # backup postgres 0 1 * * * root /opt/bakup.sh
</pre>
на бекап сервере cat clean.sh <pre> #!/bin/bash
if [ $# -lt 1 ] then echo Something wrong with parameters
exit fi
x=1 # Счетчик файлов path=$1 #«/home/disk1/sql_bases/s1c-nd» # Путь к удаляемым файлам
for i in `ls -t $path`
do if [ $x -le 14 ] then ((x++)) continue fi rm -rf $path/$i done
</pre>
* восстановление <pre> cat /opt/restore.sh #!/bin/sh
BAK_DIR=«/home/s1c-tt» DATE=«15.01.2018-0100»
su -l postgres -c «dropdb $1» su -l postgres -c «createdb $1» ssh root@bs «gunzip < $BAK_DIR/$DATE/$1.sql.gz» | su -l postgres -c «psql $1» </pre>