backup_restore.sh
1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/sh
DIR_BACKUP="/var/backup/colab-sei"
LOCALHOST="localhost"
DATABASE_REDMINE='redmine'
PORT_POSTGRES=5432
REDMINE_USER='redmine'
PASSWORD_REDMINE_USER='redmine'
REDMINE_DIRECTORY="/opt/redmine"
#make dirs
sudo mkdir -p $DIR_BACKUP
if [ "$1" == "backup" ];then
echo "BACKUP"
# #backup ldap
sudo slapcat -v -l $DIR_BACKUP/ldap-backup.ldif
#backup redmine postgres
export PGPASSWORD=$PASSWORD_REDMINE_USER
/usr/pgsql-9.3/bin/pg_dump -i -h $LOCALHOST -p $PORT_POSTGRES -U $REDMINE_USER -Fc -b -v -f $DIR_BACKUP/redmine.dump $DATABASE_REDMINE
#backup redmine files
sudo rsync -bvza $REDMINE_DIRECTORY/files $DIR_BACKUP/files_backup --delete
exit 0
fi
if [ "$1" == "restore" ] ; then
echo "RESTORE"
#restore ldap
#remove old users
# sudo service slapd stop
# sudo rm /var/lib/ldap/alock /var/lib/ldap/log* /var/lib/ldap/*db* -f
# sudo service slapd start
# sudo service slapd stop
#adicionar os usuários antigos
# sudo slapadd -l $DIR_BACKUP/ldap-backup.ldif
# sudo slapindex -v
# sudo chown ldap:ldap /var/lib/ldap/*
# service slapd start
# reset database redmine
PID_REDMINE_UNICORN=`cat $REDMINE_DIRECTORY/pids/unicorn.pid `
sudo kill -9 $PID_REDMINE_UNICORN
sudo -u postgres psql -c "DROP DATABASE $DATABASE_REDMINE;"
sudo -u postgres psql -c "CREATE DATABASE $DATABASE_REDMINE WITH ENCODING='UTF8' OWNER=$REDMINE_USER;"
# restore database redmine
export PGPASSWORD=$PASSWORD_REDMINE_USER
/usr/pgsql-9.3/bin/pg_restore --host=$LOCALHOST --port=$PORT --dbname=$DATABASE_REDMINE --username=$REDMINE_USER $DIR_BACKUP/redmine.dump -n public -v
sudo rsync -bvza $DIR_BACKUP/files_backup $REDMINE_DIRECTORY --delete
fi