45 lines
839 B
Bash
Executable File
45 lines
839 B
Bash
Executable File
#!/bin/sh
|
||
|
||
PGDATA="$1"
|
||
PGBACKUP="$2"
|
||
|
||
if [ -z "$PGDATA" ]
|
||
then
|
||
echo "Usage: $0 database-path backup-sql"
|
||
exit 1
|
||
fi
|
||
|
||
if [ -z "$PGBACKUP" ]
|
||
then
|
||
echo "Usage: $0 database-path backup-sql"
|
||
echo "Usage example:$0 /srv/pgsql/data /srv/pgsql/yedek/yedek-9.6.3"
|
||
exit 1
|
||
fi
|
||
|
||
if [ ! -f "$PGBACKUP" ]
|
||
then
|
||
echo "$PGBACKUP not found"
|
||
echo "Usage example:$0 /srv/pgsql/data /srv/pgsql/yedek/yedek-9.6.3"
|
||
exit 1
|
||
fi
|
||
|
||
# servis durdurulur.
|
||
servis postgresql stop
|
||
|
||
# eski yedeğe alınır.
|
||
_ustdizin=$(dirname $PGDATA)
|
||
mv ${_ustdizin}/data ${_ustdizin}/eskidata
|
||
|
||
# yeni dizin ve izinleri atanır.
|
||
mkdir ${_ustdizin}/data
|
||
chown postgres:postgres ${_ustdizin}/data
|
||
|
||
# yeni vt oluşturulur.
|
||
su - postgres -c '/usr/bin/initdb -E UTF8 -D /srv/pgsql/data'
|
||
|
||
servis postgresql start
|
||
sleep 3
|
||
|
||
su - postgres -c "psql -f $PGBACKUP"
|
||
|