2 # {{ ansible_managed }}
5 BARMAN_BACKUP_VERSION
=$2
7 if [[ -z $BARMAN_DATABASE || -z $BARMAN_BACKUP_VERSION ]]
9 echo "Usage : $0 BARMAN_DATABASE BARMAN_BACKUP_VERSION" >&2
10 echo " Example: $0 25kv 20161118T002405" >&2
14 BACKUP_DATE
=`date +%s`
16 echo "accept key if necessary"
17 sudo
-u postgres
ssh barman@
{{ postgres_barman_server
}} echo ""
19 echo Stopping PostgreSQL
20 pg_ctlcluster
{{ postgres_version
}} {{ postgres_cluster_name
}} stop
22 echo Cleaning up old cluster directory
23 sudo
-u postgres
mv /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}{,_
$BACKUP_DATE}
25 echo Creating new directory
26 sudo
-u postgres
mkdir -p /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}
28 echo Get previous backup from backups server
30 time rsync
--progress -pvia --exclude='*.conf' --exclude='server.crt' --exclude='server.key' --delete \
31 --password-file=/var
/lib
/postgresql
/.rsync_pass \
32 rsync
://barman@
{{ postgres_barman_server
}}/backups
/$BARMAN_DATABASE/base
/$BARMAN_BACKUP_VERSION/data
/ \
33 /var
/lib
/postgresql
/{{ postgres_version
}}/{{ postgres_cluster_name
}}/
35 echo Restoring .conf and server certificate
36 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
}}/
38 echo Ensure rights are correcly
set
39 chown
-R postgres
:postgres
/var
/lib
/postgresql
/{{ postgres_version
}}/
40 chmod 0700 /var
/lib
/postgresql
/{{ postgres_version
}}/
41 chmod -R o
-rwx /var
/lib
/postgresql
/{{ postgres_version
}}/
43 echo Starting PostgreSQL
44 sudo pg_ctlcluster
{{ postgres_version
}} {{ postgres_cluster_name
}} start