Инструменты пользователя

Инструменты сайта


postgresql_backup

Это старая версия документа!


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>

postgresql_backup.1713269105.txt.gz · Последнее изменение: 08.07.2024 11:48 (внешнее изменение)