Backup Mattermost
It's convenient that omnibus-gitlab provides Mattermost included but as far as I know omnibus-gitlab does not offer a simple way to perform a MM backup.
Here is the hack I use currently, built from parts of the non-trival gitlab-psql command:
root@gitlab:~# cat scripts/backup_mattermost.sh
#!/bin/bash
set -e
set -u
set -o pipefail
timestamp=$(date +%Y%m%d%H%M%S)
for f in $(ls -1t /var/archives/mattermost/*.gz | tail -n +10); do
rm -f "$f"
done
error_echo()
{
echo "$1" 2>& 1
}
gitlab_psql_rc='/opt/gitlab/etc/gitlab-psql-rc'
if ! [ -f ${gitlab_psql_rc} ] ; then
error_echo "$0 error: could not load ${gitlab_psql_rc}"
error_echo "Either you are not allowed to read the file, or it does not exist yet."
error_echo "You can generate it with: sudo gitlab-ctl reconfigure"
exit 1
fi
. ${gitlab_psql_rc}
if [ "$(id -n -u)" = "${psql_user}" ] ; then
privilege_drop=''
else
privilege_drop="-u ${psql_user}"
fi
cd /tmp
exec /opt/gitlab/embedded/bin/chpst ${privilege_drop} -U ${psql_user} /opt/gitlab/embedded/bin/pg_dump -p ${psql_port} -h ${psql_host} --clean mattermost_production | gzip > /var/archives/mattermost/${timestamp}_mattermost.sql.gz
tar cz -C /var/opt/gitlab/mattermost -f /var/archives/mattermost/${timestamp}_mattermost_data.tar.gz data
Edited by Loic Nageleisen