-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstall2
executable file
·114 lines (77 loc) · 3.82 KB
/
install2
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
BASE_DIR=$(pwd)
echo "Для выхода вводите \"n\" \n"
read -p "Введите IP сервера проекта: " server
if [[ "$server" =~ ^[nN]$ ]]; then
echo " Выход "
exit
fi
backups=$(ssh [email protected] "ls -l backups/${server}/" | awk '{print $9}')
echo "Доступные бэкапы:"
echo $backups
read -p "Введите название проекта для восстановления: " proj
if [[ "$proj" =~ ^[nN]$ ]]; then
echo " Выход "
exit
else
proj_lower=$(echo $proj | awk '{print tolower()}')
mkdir $BASE_DIR/backup_temp
read -p "Введите дату выбранного бэкапа согласно маске YYYY-MM-DD: " date_back
scp [email protected]:~/backups/${server}/backup-${date_back}.tar.gz $BASE_DIR/backup_temp/.
cd $BASE_DIR/backup_temp
tar zxf backup-${date_back}.tar.gz
rm backup-${date_back}.tar.gz
virtualenv /opt/projects/$proj
source /opt/projects/$proj/bin/activate
python -m pip install --upgrade pip
pip install -r $BASE_DIR/requirements1.txt
cd /opt/projects/$proj
coderedcms start $proj
cd $BASE_DIR
mkdir /opt/projects/$proj/$proj/media
mkdir /opt/projects/$proj/$proj/deployment
cp $BASE_DIR/yesanswer /opt/projects/$proj/$proj/.
# СОЗДАНИЕ ПРИЛОЖЕНИЯ ДЛЯ КАСТОМНЫХ МОДУЛЕЙ И НАСТРОЙКА ИХ
cd /opt/projects/$proj/$proj/
python manage.py startapp modwebpage
cp $BASE_DIR/clear/clear/modwebpage/models.py /opt/projects/$proj/$proj/modwebpage/.
cp $BASE_DIR/clear/clear/modwebpage/blocks.py /opt/projects/$proj/$proj/modwebpage/.
cp -r $BASE_DIR/clear/clear/modwebpage/templates /opt/projects/$proj/$proj/modwebpage/.
# НАСТРОЙКА ШАБЛОНОВ И СТИЛЕЙ СТРАНИЦ И КАСТОМНЫХ БЛОКОВ
cp $BASE_DIR/clear/clear/website/templates/coderedcms/pages/base.html /opt/projects/$proj/$proj/website/templates/coderedcms/pages/.
cp $BASE_DIR/clear/clear/website/static/website/css/genstyle.css /opt/projects/$proj/$proj/website/static/website/css/.
cp $BASE_DIR/clear/clear/website/static/website/css/scroll_style.css /opt/projects/$proj/$proj/website/static/website/css/.
cp $BASE_DIR/clear/clear/website/static/website/css/choise_style.css /opt/projects/$proj/$proj/website/static/website/css/.
cp -r $BASE_DIR/clear/lib/python3.8/site-packages/coderedcms/templates /opt/projects/$proj/lib/python3.8/site-packages/coderedcms/.
cp $BASE_DIR/Full_install/wagtailsettings_models.py /opt/projects/$proj/lib/python3.8/site-packages/coderedcms/models/.
python manage.py collectstatic
deactivate
cd $BASE_DIR
# НАСТРОЙКА UWSGI-vassals ПРОЕКТА
cp $BASE_DIR/uwsgi_params /opt/projects/$proj/$proj/deployment/.
python3 $BASE_DIR/uwsgi_settings.py $proj
touch /var/log/uwsgi/${proj}.log
# НАСТРОЙКА ALLOWED_HOSTS
python3 $BASE_DIR/allowed.py $proj
# НАСТРОЙКА NGINX
python3 $BASE_DIR/nginx_repack.py $proj
# СОЗДАНИЕ БАЗЫ ДАННЫХ И ПРИВЯЗКА ЕЕ К ПРОЕКТУ
command_psql="psql -c \"create database $proj owner 'evgen';\""
su - postgres -c "$command_psql"
python3 $BASE_DIR/base_repack.py $proj
# Копирование файлов бэкапа проекта в резерв
cd $BASE_DIR/backup_temp
cp opt/backup/${proj}-${date_back}.dump /var/lib/postgresql/.
command_psql="psql ${proj_lower} < ${proj}-${date_back}.dump"
su - postgres -c "$command_psql"
cp opt/backstatic/${proj}-static/* /opt/projects/${proj}/${proj}/website/static/website/css/.
cp -r opt/backmedia/${proj}-media/* /opt/projects/${proj}/${proj}/media/.
cd $BASE_DIR
rm -r backup_temp
# Смена урла админки
python3 $BASE_DIR/enter12_setup.py $proj
# Удаление django-admin из urls.py
sed -i "/django-admin/d" /opt/projects/$proj/$proj/$proj/urls.py
systemctl restart emperor.uwsgi.service
systemctl restart nginx.service
fi