2 # {{ ansible_managed }}
7 BARMAN_BACKUP_VERSION
=$2
9 if [[ -z $BARMAN_DATABASE || -z $BARMAN_BACKUP_VERSION ]]
11 echo "Usage : $0 BARMAN_DATABASE BARMAN_BACKUP_VERSION" >&2
12 echo " Example: $0 25kv 20161118T002405" >&2
16 BACKUP_DATE
=`date +%s`
18 echo "accept key if necessary"
19 sudo
-u postgres
ssh barman@
{{ postgres_barman_server
}} echo ""
21 echo Stopping PostgreSQL
22 pg_ctlcluster
{{ postgres_version
}} {{ postgres_cluster_name
}} stop
|| true
24 echo Cleaning up old cluster directory
25 sudo
-u postgres
mv /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}{,_
$BACKUP_DATE}
27 echo Creating new directory
28 sudo
-u postgres
mkdir -p /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}
30 echo Get previous backup from backups server
32 time rsync
--progress -pvia --exclude='*.conf' --exclude='server.crt' --exclude='server.key' --delete {{ rsync_options
}} \
33 {{ barman_remote_url
}}/$BARMAN_DATABASE/base
/$BARMAN_BACKUP_VERSION/data
/ \
34 /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}/
36 echo Restoring .conf and server certificate
37 sudo
-u postgres
cp -a /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}_
$BACKUP_DATE/{*.conf
,server.crt
,server.key
} /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}/
39 echo Ensure rights are correcly
set
40 chown
-R postgres
:postgres
/var
/lib
/postgresql
/{{ postgres_version
}}/
41 chmod 0700 /var
/lib
/postgresql
/{{ postgres_version
}}/
42 chmod -R o
-rwx /var
/lib
/postgresql
/{{ postgres_version
}}/
44 echo Starting PostgreSQL
45 sudo pg_ctlcluster
{{ postgres_version
}} {{ postgres_cluster_name
}} start