Как обновить платформу для сервера 1с на ubuntu
Получил по наследству настроенную и исправно работающую сеть в которой на сервере под ubuntu x64 установлен сервер 1С + postgresql. Все работает как часы но. Обновления 1с требуют новую версию платформы. Как правильно обновить платформу на сервере под ubuntu. До этого работал только с виндой поэтому такие вопросы.
(1) в принципе уже ответили. Я, лично, ничего не удаляю — просто качаю новую платформу и в командной строке (Ctrl+T) пишу, перейдя в каталог, в который скачал файл это: «sudo dpkg -i *.deb» — и все. Перейти в каталог можно как и в винде командой «cd имякаталога».
(6) Такой вариант обновления (без удаления) не создаст мне проблем если нужно обновить платформу с 8.2.19.83 на 8.3.9 (64b, CentOS и PostgreSQL)?
В пределах 8.2 так делал не раз.
(8) Т.е. сносим 8.2 — ставим 8.3 и прописываем базы если список снесли вместе с 8.2? Конвертировать базы или делать какие либо другие манипуляции не нужно.
По просьбам трудящихся описываю процесс обновления как самого сервера 1С:Предприятие, так и сервера баз данных PostgreSQL.
Для начала надо сделать бэкапы (резервные копии) баз данных (предварительно выгнав всех из 1С), которые крутятся на сервере. Бэкапы будем делать средствами 1С. Для этого открываем конфигуратор, в меню Сервис выбираем пункт Выгрузить информационную базу:
В открывшемся окне выбираем директорию, куда будет сохраняться бэкап, и указываем имя бэкапа (я просто добавляю к стандартному имени бэкапа дату в формате ГГГГ.ММ.ДД):
Теперь нужно удалить пакеты сервера 1С:Предприятие, которые необходимо обновить. Но перед удалением, завершим процессы сервера 1С:Предприятие:
Stopping 1C:Enterprise 8.2 server: OK
Затем посмотрим, какие пакеты сервера 1С:Предприятие у нас установлены:
dpkg -l | grep 1c-enterprise
Получаем примерный выхлоп:
ii 1c-enterprise82-common 8.2.14-533 1C:Enterprise 8.2 common components
ii 1c-enterprise82-common-nls 8.2.14-533 National resource files for 1C:Enterpise 8.2 common components for Linux
ii 1c-enterprise82-server 8.2.14-533 1C:Enterprise 8.2 server for Linux
ii 1c-enterprise82-server-nls 8.2.14-533 National resource files for 1C:Enterpise 8.2 server for Linux
ii 1c-enterprise82-ws 8.2.14-533 1C:Enterpise 8.2 Web-services components for Linux
ii 1c-enterprise82-ws-nls 8.2.14-533 National resource files for 1C:Enterpise 8.2 Web-services components for Linux
Мы узнали какие пакеты сервера 1С:Предприятия у нас установлены, можно приступить к их удалению. Пакеты удаляются в обратно порядке:
dpkg -r 1c-enterprise82-ws-nls 1c-enterprise82-ws 1c-enterprise82-server-nls 1c-enterprise82-server 1c-enterprise82-common-nls 1c-enterprise82-common
Проверим, не осталось ли каких либо файлов, после удаления пакетов:
dpkg -l | grep 1c-enterprise
Получаем примерный выхлоп:
rc 1c-enterprise82-server 8.2.14-533 1C:Enterprise 8.2 server for Linux
rc 1c-enterprise82-ws 8.2.14-533 1C:Enterpise 8.2 Web-services components for Linux
После удаления остались некоторые файлы настроек, их тоже необходимо удалить:
dpkg -P 1c-enterprise82-ws 1c-enterprise82-server
И вновь проверяем, не осталось ли каких либо файлов от пакетов сервера 1С:Предприятие:
dpkg -l | grep 1c-enterprise
Все, команда не показывает никаких пакетов, значит мы полностью удалили сервер 1С:Предприятие.
Теперь можно устанавливать пакеты новой версии сервера 1С:Предприятие.
Обновление PostgreSQL на Linux
Имеется:
CentOS Linux release 7.6.1810 (Core)
Сервер 1С (установлен на CentOS): 1C_Enterprise83-server.x86_64 v8.3.14-1630, взятый с сервера обновлений 1С.
PostgerSQL (установлен на CentOS) 10.5-24.1C, взятый с сервера обновлений 1С.
Установленные компоненты сервера PostgeSQL:
postgresql10-1c.x86_64 v10.5-24.el7
postgresql10-1c-contrib.x86_64 v10.5-24.el7
postgresql10-1c-libs.x86_64 v10.5-24.el7
postgresql10-1c-server.x86_64 v10.5-24.el7
На сайте 1С вышла новая PostgreSQL версии 10.8-13.1C.
Я скачал postgresql_10.8_13.1C_x86_64_rpm.tar.bz2, в котором находятся четыре файла:
postgresql10-1c-10.8-13.el7.x86_64.rpm
postgresql10-1c-contrib-10.8-13.el7.x86_64.rpm
postgresql10-1c-libs-10.8-13.el7.x86_64.rpm
postgresql10-1c-server-10.8-13.el7.x86_64.rpm
На сайте 1С, в разделе PostgreSQL. Версия 10.8-13.1C. Список изменений и порядок обновления, написано:
Переход с предыдущих версий на версию 10.8
Рекомендуется выполнить переиндексацию таблиц базы данных при переходе на версию PostgreSQL 10.8. Переиндексацию можно выполнить двумя способами:
С помощью механизма тестирования и исправления конфигуратора, указав режим Реиндексация таблиц информационной базы.
С помощью административных средств СУБД, выполнив команду reindex database .
При переходе на версию PostgreSQL 10.8 рекомендуется выполнить обновление статистики, выполнив команду analyze в контексте нужной базы данных.
И ни слова более о самом процессе обновления.
Прошу помощи по правильной процедуре обновления.
1С и Linux
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
четверг, 19 сентября 2019 г.
Обновление PostgreSQL от 1С ubuntu 18.04
Делаем dump баз, останавливаем 1с :
$ sudo nano /root/backup1.sh
#!/bin/sh -e
BACKUP_DIR=»/backup/pg_dump»
#BACKUP_DIR=»/backups/pg_dump»
cd $BACKUP_DIR
echo «=================================================================== останавливаем сервер 1С»
sudo systemctl stop srv1cv8-ras.service
sudo systemctl stop srv1cv83.service
echo «состояние сервера 1С» >> $BACKUP_DIR/backup.log
sudo systemctl status srv1cv83.service | grep ‘Active:’ >> $BACKUP_DIR/backup.log
echo «———————————————————————» >> $BACKUP_DIR/backup.log
# Устанавливаем дату
DATA=`date +»%Y-%m-%d_%H-%M-%S»`
DATA_NAME=`date +»%Y-%m-%d_%H-%M-%S»`
echo «$DATA Size database file: » >> $BACKUP_DIR/backup.log
sudo du -h -s /var/lib/postgresql/10/main/base >> $BACKUP_DIR/backup.log
echo «———————————————————————» >> $BACKUP_DIR/backup.log
# делаем backup
DB_BASE=`sudo /bin/su postgres -c «/usr/bin/psql -qAt -c ‘SELECT * FROM pg_database;'» | \
cut -d»|» -f1 | /bin/grep -v template | /bin/grep -v postgres`
#DB_BASE=»demo test» #конкретные базы
#DB_BASE=»» #пропустить
echo $DB_BASE
for DB_NAME in $DB_BASE
do
DATA=`date +»%Y-%m-%d_%H-%M-%S»`
# Записываем информацию в лог с секундами
echo «$DATA Начало backup базы $» >> $BACKUP_DIR/backup.log
# Бэкапим базу данных demo и сразу сжимаем
echo «$DATA Начало backup базы $»
sudo /bin/su postgres -c «pg_dump -Fc $» > $BACKUP_DIR/$_$DATA_NAME.dump
DATA=`date +»%Y-%m-%d_%H-%M-%S»`
if [ $? -ne 0 ]
then
echo «$DATA Ошибка завершения backup для базы $»
echo «$DATA Ошибка завершения backup для для базы $» >> $BACKUP_DIR/backup.log
exit
else
echo «$DATA Успешное завершение backup для базы $»
echo «$DATA Успешное завершение backup для базы $» >> $BACKUP_DIR/backup.log
fi
echo «———————————————————————» >> $BACKUP_DIR/backup.log
done
# запускаем сервер 1С
#echo «Запускаем сервер 1С»
#sudo systemctl start srv1cv83.service
#sudo systemctl start srv1cv8-ras.service
echo «Состояние сервера 1С» >> $BACKUP_DIR/backup.log
sudo systemctl status srv1cv83.service | grep ‘Active:’ >> $BACKUP_DIR/backup.log
echo «———————————————————————» >> $BACKUP_DIR/backup.log
echo «Закончено»
cat $BACKUP_DIR/backup.log >> $BACKUP_DIR/backupall.log
cat $BACKUP_DIR/backup.log | mutt -s «backup» root
$ sudo systemctl status srv1cv83.service
$ dpkg -l | grep postgresql-client-10
hi postgresql-client-10 10.8-18.1C amd64 front-end program s for PostgreSQL 10
$ sudo systemctl stop postgresql.service
$ mkdir /home/user/test
В папку /test положить файлы:
$ mkdir -p /tmp/post
$ cp /home/user/test/postgresql_10.9_5.1C_amd64_deb.tar.bz2 /tmp/post/
$ cd /tmp/post
$ tar -xvf postgresql_10.9_5.1C_amd64_deb.tar.bz2
$ ls
$ cd postgresql-10.9-5.1C_amd64_deb
$ ls
# список файлов:
#libpq5_10.9-5.1C_amd64.deb postgresql-10_10.9-5.1C_amd64.deb postgresql-client-10_10.9-5.1C_amd64.deb
$ sudo dpkg -i *.deb
$ dpkg -l | grep 10.9-5.1C | awk -F’ ‘ » | sudo xargs apt-mark hold
#libpq5 помечен как зафиксированный.
#postgresql-10 помечен как зафиксированный.
#postgresql-client-10 помечен как зафиксированный.
$ sudo systemctl start postgresql.service
$ sudo systemctl status postgresql.service
$ sudo -u postgres reindexdb —all
$ sudo -u postgres vacuumdb —all —analyze —full
$ sudo systemctl start srv1cv83.service
$ sudo systemctl status srv1cv83.service
$ sudo systemctl start srv1cv8-ras.service
$ sudo systemctl status srv1cv8-ras.service
# обновление 1с
$ sudo systemctl stop srv1cv83.service
$ sudo systemctl stop srv1cv8-ras.service
$ mkdir -p /tmp/1ctmp
$ cd /tmp/1ctmp
$ ls /home/user/test/
$ cp /home/user/test/deb64_8_3_15_1656.tar.gz /tmp/1ctmp
$ tar xvzf deb64_8_3_15_1656.tar.gz
$ sudo dpkg -i 1c-enterprise83-common_8.3.15-1656_amd64.deb
$ sudo dpkg -i 1c-enterprise83-server_8.3.15-1656_amd64.deb
#$ sudo dpkg -i 1c-enterprise83-ws_8.3.15-1656_amd64.deb
#$ sudo dpkg -i 1c-enterprise83-crs_8.3.15-1656_amd64.deb
$ sudo systemctl start srv1cv83.service
$ sudo systemctl status srv1cv83.service
$ sudo systemctl start srv1cv8-ras.service
$ sudo systemctl status srv1cv8-ras.service
Для 8.3.15 делается один раз
$ sudo nano /etc/systemd/system/srv1cv8-ras.service
[Unit]
Description=1C:Enterprise Remote Administration Service
After=network.target remote-fs.target nss-lookup.target
Requires=srv1cv83.service
[Service]
Type=simple
#Если нужно несколько серверов, нужно задать адрес агента сервиса
#ExecStart=/opt/1C/v8.3/x86_64/ras cluster —port=1545 localhost:1540
ExecStart=/opt/1C/v8.3/x86_64/ras cluster —port=1545
KillSignal=SIGINT
PrivateTmp=true
Restart=on-failure
RestartSec=5
User=usr1cv8
Group=grp1cv8
#$ sudo systemctl daemon-reload
$ sudo systemctl enable srv1cv8-ras.service
$ sudo systemctl start srv1cv8-ras.service
$ sudo systemctl status srv1cv8-ras.service
$ sudo systemctl stop srv1cv83.service
$ sudo systemctl stop srv1cv8-ras.service
$ sudo rm -R /home/usr1cv8/.1cv8/1C/1cv8
$ sudo systemctl start srv1cv83.service
$ sudo systemctl status srv1cv83.service
$ sudo systemctl start srv1cv8-ras.service
$ sudo systemctl status srv1cv8-ras.service
$ sudo su postgres -c «psql -c ‘DROP DATABASE demo;'»
$ sudo su postgres -c «psql -c ‘DROP DATABASE demo1;'»