gifts2017

Установка PostgreSQL 9.0.1 + 1С 8.2 Server + 1C 8.2 (клиент под wine 1.2).

Опубликовал Andrey Cherkasov (avcherkasov) в раздел Администрирование - Оптимизация БД (HighLoad)

Установка PostgreSQL 9.0.1 + 1С 8.2 Server + 1C 8.2 (клиент под wine 1.2).

На сайте http://v8.1c.ru/overview/postgres_patches_notes.htm есть три пача 1c_FULL_90-0.19.patch, postgresql-1c-9.0.1.patch, applock-1c-9.0.1.patch. Мои попытки пропатчить ними PostgreSQL не принесли результата. На какой PostgreSQL я не пытался их наложить без внесения изменений в исходники он либо не собирается, либо не работает с 1С. Поэтому для корректной установки PostgreSQL я использовал уже исправленные исходники PostgreSQL 9.0.1 для 1С, любезно предоставленные Alsigned http://www.alsigned.ru/?dl_name=postgresql-9.0.1-1C.tar.gz (спасибо огромное ему за труд).

В данной статье описывается сборка и установка PostgreSQL-9.0.1 для работы с сервером 1С Предприятия 8.2 (платформа 8.2.14,540), используемая операционная система Ubuntu 10.04 x86.

1. Установка PostgreSQL 9.0.1

Устанавливаем необходимые для сборки пакеты:
# apt-get install libreadline-dev libicu-dev patch zlib1g-dev

Переходим в директорию /usr/local/src, скачиваем и распаковываем исходники:
# cd /usr/local/src
# wget http://www.alsigned.ru/?dl_name=postgresql-9.0.1-1C.tar.gz -O postgresql-9.0.1.tar.gz
# tar xzvf postgresql-9.0.1.tar.gz

Переходим в каталог с исходниками, конфигурируем, собираем и устанавливаем:
# cd postgresql-9.0.1
# ./configure --disable-integer-datetimes --prefix=/usr
# make && make install

Переходим в каталог contrib, собираем и устанавливаем:
# cd contrib
# make && make install

2. Настройка PostgreSQL 9.0.1

Создаем пользователя и группу postgres:
# groupadd -r postgres
# useradd -g postgres -r -d /mnt/base/utp -s /bin/bash postgres

Создаем директорию для PostgreSQL
# mkdir /mnt/base/utp
# chown postgres:postgres /mnt/base/utp

Генерируем локали en_US и ru_RU.UTF-8 необходимые для работы PostgreSQL с 1с:
# locale-gen en_US ru_RU.UTF-8

Инициализируем базу и установим пароль для postgres. На 32-битной машине может потребоваться сделать

# echo 134217728 >/proc/sys/kernel/shmmax
# echo 134217728 >/proc/sys/kernel/shmall

И чтобы руками их постоянно не менять,впишем их значения в sysctl.conf

# echo kernel.shmmax=134217728 >>/etc/sysctl.conf
# echo kernel.shmall=134217728 >>/etc/sysctl.conf

Инициализируем БД:
# su postgres
postgres@pgsrv$ initdb -D /mnt/base/utp --locale=ru_RU.UTF-8

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale ru_RU.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "russian".
. . . . .
. . . . .
Success. You can now start the database server using:
postgres -D /mnt/base
or
pg_ctl -D /mnt/base/utp -l logfile start

Запускаем PostgreSQL:
postgres@pgsrv$ pg_ctl -D /mnt/base/utp start

server starting

Задаем пароль пользователя БД:
postgres@pgsrv$ psql -U postgres -c "alter user postgres with password 'наш_пароль';"
postgres@pgsrv$ exit

Делаем скрипт для запуска-остановки, для этого создаем файл /etc/init.d/postgresql следующего содержания:

#!/bin/sh
# Скрипт запуска/остановки PostgreSQL-9.0-1C
DATADIR=/mnt/baser/utp
PGCTL=/usr/bin/pg_ctl
PGUSER=postgres
case $1 in
start)
sudo -u $PGUSER -H $PGCTL -D $DATADIR start
;;
stop)
sudo -u $PGUSER -H $PGCTL -D $DATADIR stop
;;
restart)
sudo -u $PGUSER -H $PGCTL -D $DATADIR stop
sudo -u $PGUSER -H $PGCTL -D $DATADIR start
;;
*)
echo start|stop|restart
return 1;
;;
esac

Даем разрешения на запуск и добавляем сервис в автозапуск:
# chmod u+x /etc/init.d/postgresql
# update-rc.d postgresql defaults

Теперь необязательное редактирование postgresql.conf . Значения , устанавливаемые в этом файле зависят от многих факторов и собственно служат для настройки оптимальной производительности.

# nano /mnt/base/utp/postgresql.conf

listen_addresses = ‘127.0.0.1 //если соединения с базой будут только с локального хоста, то надежнее сделать именно так, чтобы порт 5432 слушался только на адресе 127.0.0.1 (в нашем случае оставляем по умолчанию '*' , т.к. соединения с базой будут не локально!!!).

fsync = off //значение on сильно снижает производительность, поскольку все транзакции непосредственно пишутся на жесткий диск без использования кэширования, но повышается надежность. Значение off есть смысл устанавливать, когда установлены надежные диски и надежный же UPS .

effective_cache_size = 4096MB //На сервере 8Гб ОЗУ, этот параметр надо выставить в половину ОЗУ, как рекомендует 1С для постгреса 8.2

work_mem = 16MB //Насколько я понимаю, этот параметр зависит от среднего размера таблиц, в любом случае, для тонкой настройки надо тестировать на конкретном сервере с конкретной базой (оставляем по умолчанию).

Перезапускаем службу и проверяем, запустился ли PostgreSQL:
# service postgresql restart

Вы должны получить примерно следующее сообщение:
Stopping postgresql service: DONE
Starting postgresql service: DONE

# netstat -atn|grep 5432
Если в ответ получился, вот такой выхлоп, то всё нормально:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN
или
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN // если Вы в файле postgresql.conf указали слушать только локальные подключения.

На этом этапе установка PostgreSQL завершена. Приходим к установке сервера 1C 8.2.

3. Установка сервера 1cv82

Здесь не должно возникнуть сложностей с установкой, если у вас 10.04 (на 11.04 я безуспешно потратил 2 дня, но об этом позже). Я скачал deb-пакеты версии 8.2.14-540_i386 в каталог /usr/local/srv1c. Вот они:
1c-enterprise82-common-nls_8.2.14-540_i386.deb
1c-enterprise82-common_8.2.14-540_i386.deb
1c-enterprise82-crs-nls_8.2.14-540_i386.deb
1c-enterprise82-crs_8.2.14-540_i386.deb
1c-enterprise82-server-nls_8.2.14-540_i386.deb
1c-enterprise82-server_8.2.14-540_i386.deb
1c-enterprise82-ws-nls_8.2.14-540_i386.deb
1c-enterprise82-ws_8.2.14-540_i386.deb

По сути нам нужны лишь 2 пакета 1c-enterprise82-server_8.2.14-540_i386.deb и 1c-enterprise82-common_8.2.14-540_i386.deb , т.к. пакеты «-nls» - это языковая поддержка. Нам она не нужна, русский язык есть в основной поставке. Пакет «-ws» - это веб-сервисы. Но они есть не просят, поэтому на перспективу я их оставил.
dpkg -i 1c*.deb

Программа устанавливается по умолчанию в каталог /opt/1C/v8.2/i386/

Устанавливаем дополнительные пакеты, которые необходимы для нормальной работы сервера:
# apt-get install imagemagick ttf-mscorefonts-installer libgsf-1-114 texlive-base unixodbc

Далее переходим в каталог утилиты и запускаем config_server:
# cd /opt/1C/v8.2/i386/utils
./config_server

Если утилита немного задумалась и не произошло никакого выхлопа в ответ, то это значит, что сервер 1С настроен правильно и больше ничего не нужно для нормального функционирования.

Даем пользователям 1С сервера права на запись:
# chown -R usr1cv82:grp1cv82 /opt/1C

Добавляем сервер 1С в автозапуск:
# update-rc.d srv1cv82 defaults

В ответ Вы должны получить следующий выхлоп:

Adding system startup for /etc/init.d/srv1cv82 ...
/etc/rc0.d/K20srv1cv82 -> ../init.d/srv1cv82
/etc/rc1.d/K20srv1cv82 -> ../init.d/srv1cv82
/etc/rc6.d/K20srv1cv82 -> ../init.d/srv1cv82
/etc/rc2.d/K20srv1cv82 -> ../init.d/srv1cv82
/etc/rc3.d/K20srv1cv82 -> ../init.d/srv1cv82
/etc/rc4.d/K20srv1cv82 -> ../init.d/srv1cv82
/etc/rc5.d/K20srv1cv82 -> ../init.d/srv1cv82

Перезагружаем сервер. Проверяем запускаются ли при старте системы постгрес и сервер 1С:
netstat -atn |grep 0.0.0.0:15

tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1561 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1562 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1564 0.0.0.0:* LISTEN

Если в ответ Вы видите такой список портов, то всё отлично (а если, нет портов 1541 или других, то не запустился процесс rphost и это не есть хорошо).

Так же можно для профилактики проверить, все ли процессы сервера запущены нормально:
ps aux|grep 1c

От имени пользователя usr1cv82 должно быть запущено три процесса: ragent, rmngr и rphost. После имен процессов идут номера портов, на которых они работают:

usr1cv82 1217 0.0 0.1 111784 15432 ? Ssl Nov18 1:10 /opt/1C/v8.2/i386/ragent -daemon
usr1cv82 1220 0.4 0.3 262420 32660 ? Sl Nov18 25:54 /opt/1C/v8.2/i386/rmngr -port 1541 -range 1560:1591
usr1cv82 4034 6.5 4.5 651928 375684 ? Sl Nov20 184:46 /opt/1C/v8.2/i386/rphost -range 1560:1591 -reghost titan -regport 1541 -pid 27e017b0-11f0-11e1-7f8e-3c4a92f1a084

Именно здесь у меня и вознгикли проблемы при установке 1С сервера на систему 11.04. Упорно не хотел стартовать rphost и открывать порт 1541, который необходим для удалённого создания кластеров базы 1С.

Если процесса не три, а один (такое почему-то иногда бывает, но только при первоначальном запуске), то делаем:
# invoke-rc.d srv1cv82 stop
Удаляем каталог «.1cv82» в домашней директории пользователя usr1cv82. И перезапускаем сервер заново. Должно стать все нормально.

На этом этапе всё готово для создания БД из под оснастки Windows "Администрирование серверов предприятия".

4. Установка клиента 1С 8.2 Предприятие под Wine 1.2 (Wine Etersoft) на Ubuntu 9.04 - 10.04

Устанавливаем Wine версии не ниже 1.2 из стандартьных репозитариев. Если их нет, то добавьте:
deb ppa.launchpad.net/ubuntu-wine/ppa/ubuntu jaunty main
deb-src ppa.launchpad.net/ubuntu-wine/ppa/ubuntu jaunty main

Процесс установки 1с под wine почти ничем не отличается от такового процесса под Windows. В процессе установки следует помнить, что НЕ НАДО устанавливать HASP DEVICE DRIVER.

Драйвер защиты не устанавливал. После установки на рабочем столе появился ярлык с рюмкой "вина" (с Etersoft был корректный значок ярлыка запуска 1С). Далее, если сервер не локальный, то потребуется прописать в /etc/hosts адрес и имя сервера кластеров.
192.168.10.1 name_server

Затем запускаем winecfg, добавляем в список приложение 1cv8.exe, и для него переопределяем 4 библиотеки:
mshtml, shdocvw, shlwapi и urlmon, затем нажать на OK.
Если вы используете схемы из Панели функций, то Вам приёдётся также дополнительно установить IE6. Для этого Вам понадобиться скачать скрипт Winetricks:
# sh winetricks

В принципе, устанавливать IE и переопределять библиотеки — не обязательно. Тогда все работает, но мы лишаемся синтакс помощника и объекта ПолеHTMLДокумента и т.п. - потому что 1с использует IE для всего этого. Причем лишаемся очень грубо — 1С будет виснуть при попытке работать с этими объектами.

5. Установка HASP и настройка лицензионного подключения к БД.

Дабы не замарачиваться, возьмем уже готовые и собранные пакеты HASP драйвера и демона на ETRESOFT`e. Копируем пакеты в директорию установки /usr/local/HASP и устанавливаем:#cd /usr/local/HASP
#dpkg -i *.deb

тушим сервер:
#shutdown -h now

вставляем флешки-ключи и запускаем сервак...

Проверить работает ли HASP-ключ можно командами:
#service haspd status

должно быть что то похожее на:
Hardware protection keys support bundle. Etersoft (c) 2008-2010
HASPD package 3.2 with /dev/bus/usb support
Aladdin HASP 4/HL/SRM driver status:
kernel module aksparlnx is not loaded (WARNING: HASP LPT keys support is disabled! Run service haspd build if needed.)
aksusbd is running
winehasp is running
hasplm is running
hasplmd is running
Daemon version: 1.14 (#7779) - key API (USB) version: 3.88 (parallel driver not available)
/proc/bus/usb workaround is enabled
Smartkey 3 USB/LPT driver status:
skeyd is stopped
SafeNet Sentinel status:
usbsentinel is stopped
SntlKeysSrvrlnx is stopped

Ну и еще одна проверка:
#netstat -ap | grep hasp

должны увидеть, что демон слушает 475 порт:

tcp 0 0 *:1947 *:* LISTEN 1143/hasplmd
udp 0 0 localhost:2790 *:* 1125/winehasp
udp 0 0 *:1947 *:* 1143/hasplmd
udp 0 0 *:475 *:* 1134/hasplm
udp 0 0 *:51937 *:* 1143/hasplmd
unix 3 [ ] STREAM CONNECTED 6106 1134/hasplm
unix 3 [ ] STREAM CONNECTED 5392 1143/hasplmd
unix 3 [ ] STREAM CONNECTED 5390 1143/hasplmd
unix 2 [ ] DGRAM 5150 1143/hasplmd
unix 2 [ ] DGRAM 5137 1134/hasplm
unix 2 [ ] DGRAM 5124 1125/winehasp

6. Создаем скрипт автоматического BACKUP`a БД.

Этот скрипт нужен для автоматического бекапа БД, чистки от старых бекапов и восстановления БД из бекапа (в случае необходимости).

Собственно, приступим, создаем директорию бекапов и скрипт сответственно:#mkdir /mnt/1c/Backup1C
#cd /mnt/1c/Backup1C/
#mcedit backup1c

и в ставляем в скрипт следующее содержание:
#!/bin/bash

# Скрипт запуска резервного копирования БД 1С (храним 5 последних копий)


BACKUPDIR=/mnt/1c/Backup1C/ # Директория хранения бэкапов
DATENAME=`date +%d.%m.%Y-%H.%M` # Дата/Время в имени файла бэкапа
LOGFILE=/var/log/Backup1C.log # Хранилище лог-файлов
X=1 # Счетчик файлов
FILEMASK="*.backup" # маска файлов
KEEP=4 # сколько файлов (бэкапов) надо оставлять


cd $BACKUPDIR
echo Удаление старых резервных копий базы данных...


for i in `ls -t $BACKUPDIR/$FILEMASK`
do
if [ $X -le $KEEP ]
then
((X++))
continue
fi
rm $i
done


echo Начато резервное копирование базы данных...


pg_dump -Fc -U postgres "utp" > $DATENAME.utp.backup
echo "Резервное копирование БД УТП завершено: $DATENAME" > $LOGFILE


# Команда для восстановления БД из Backup
# pg_restore –U postgres –d utp –v /ПУТЬ/ИМЯФАЙЛА.utp.backup


####LAST LINE. DO NOT REMOVE####


Смысл дествий скрипта такой:
Проверка количества старых бекапов, удаление всех старых бекапов (кроме 4х последних - параметр KEEP) и непосредственный бекап текущего состояния БД с логированием в /var/log/Backup1C.log

Теперь, для автоматического выполнения этого скрипта, добавим его в crontab:
#mcedit /etc/crontab

и добавляем туда строку:
00 3 * * * root /mnt/1c/Backup1C/backup1c

т.е. скрипт /mnt/1c/Backup1C/backup1c будет выполняться каждый день в 3:00

7. Восстановление БД из BACKUP`a.

Все действия выполняются от имени пользователя postgres. Логинимся в него:

$sudo su postgres

Далее порядок действий такой:

удаляем существующую БД
$dropdb

создать новую БД с 0-шаблоном
$createdb -T template0

восстановить данные из backup`a во вновь созданную БД
$pg_restote -d

через оснастку "Администрирование серверов предприятия" добавить БД в кластер 1С.

Желаю, Вам, удачи в установке и настройке связки! Ведь именно без удачи настроить Linux, ой как, не просто )) ИМХО.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Алексей (popovalex) 06.01.12 16:08
очень полезная информация. После праздников займусь ее практической реализацией
2. Andrey Cherkasov (avcherkasov) 06.01.12 16:21
Дерзайте! Чем смогу, тем помогу.
3. Александр (alex008) 09.01.12 10:41
Переставили PostgreSQL с 8 на 9.0.1, по вашей инструкции , только wine 2 использовали, все работает. Спасибо
4. Andrey Cherkasov (avcherkasov) 10.01.12 10:34
Рад, что Вам пригодилась моя информация.
5. Andrey Cherkasov (avcherkasov) 10.01.12 12:00
(3) alex008, расскажите, пожалуйста, попожробнее, что за Wine 2 Вы использовали? Насколько мне известно из оффициального сайта Wine, на данный момент последняя стабильная версия 1.2.3 (бета 1.3.36).
6. Александр (alex008) 10.01.12 17:26
(5) avcherkasov, конкретно у нас в связке идет WINE@Etersoft 2.0 SQL, он уже есть и работает.
7. Харьков Харьков (xaker1C) 10.01.12 17:29
Все это работает и под бесплатным wine работает почти 3 года если интереснно на пиши на мыло pochekutovoleg@gmail.com
8. Andrey Cherkasov (avcherkasov) 10.01.12 17:30
(6) alex008, Тогда понятно. Дело в том, что мы не использем платный Wine.
9. Andrey Cherkasov (avcherkasov) 10.01.12 17:32
(7) xaker1C, если это был вопрос мне, то нас устраивает пока такое решение, котороя реализовано в теме. Спасибо.
10. Ranika (Ranika) 11.01.12 04:55
Большое спасибо, респект автору!
11. Дмитрий К. (Dementor) 11.01.12 11:16
Обычно, после установки 1С на чистую Linux машину там и не должно быть процессов rphost. Кластер и рабочие процессы создаются через консоль сервера. Но ваш шаманский танец для обхода стандартного запуска оригинален. Нужно будет испытать :)

Из моего опыта запуска 1С под 11.04 были только проблемы с ImageMagick. То не все библиотеки устанавливались, то нужно было в /usr/lib делать симлинки без цифр после расширения *.so Но это только для управляемого приложения. Если вы используете обычный режим, то наверное все должно было заработать с первого же пинка.
12. Andrey Cherkasov (avcherkasov) 11.01.12 11:26
(11) Dementor, первый мой опыт установки с бубном занял почти 3 дня. Затем, обходя все описанные грабли, я установил эту связку за пару часов. Статья была опубликована именно с той целью, чтобы Вы не тратили драгоценное время впустую.
13. Дмитрий К. (Dementor) 11.01.12 11:42
(12) avcherkasov, если бы вы немного погуглили, то многочисленные инструкции в инете (1с + postgre/db2 + Ubuntu 9.04/10.04/11.04/Debian/CentOS/RedHat и пр.) помогли бы вам сразу сэкономить 3 дня :)

Плюс поставил только из принципа "чем больше авторских текстов в открытом доступе, тем лучше".
14. Andrey Cherkasov (avcherkasov) 11.01.12 11:48
(13) Dementor, дело в том, что на тот момент, когда этим делом занимался, гугл был "настольной книгой", но на 11.04 постоянно натыкался на грабли именно с проблемой запуска процесса rphost на серваке (он запускался через раз), в следствии чего был закрыт порт. На 10,04 таких проблем не возникает. На данный момент пока всё устраивает. А за "+" спасибо.
Dementor; +1 Ответить
15. Дмитрий Титов (dtitov) 11.01.12 14:29
Написано доступно и понятно. А главное актуально для нашего предприятия. Огромное спасибо!!!
16. Andrey Cherkasov (avcherkasov) 11.01.12 16:27
17. Andrey Cherkasov (avcherkasov) 11.01.12 18:01
На днях столкнулся с проблемой обновления конфигурации по "воздуху" (через интернет соединение).
Ни в какую не получалось обновиться. В журнале регистрации была такая ошибка:

Ошибка при проверке подключения к информационной базе.
{Обработка.ОбновлениеКонфигурации.МодульОбъекта(1425)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя

В PGAdmin задавал пользователю жёстко пароль, в оснастке Администрирования серверов тоже создавал роль. В файле pg_hba.conf указано: trust.

Ответ нашёл в книжке поставки 1С. Книга "1С:Предприятие 8.2. клиент-серверный вариант. Руководство администратора", стр. 154: недоступна функциональность объекта ИнтернетСоединение, т.к. аутентификация выполняется на основе Kerberos (Windows же версия поддерживает протокол NTLM). Полагаю, проблемы с аутентификацией связаны именно с этим.
Вывод: обновлять конфигурацию вручную из файла, не забыв предварительно сделать Backup базы.
18. Андрей Алдо (stinga) 12.01.12 17:44
А нет пробовал ли кто, эту же связку на W7 64, и нет ли таких же рекомендаций.
19. Владимир Буоц (vbuots) 13.01.12 11:50
20. Andrey Cherkasov (avcherkasov) 13.01.12 14:01
21. Andrey Cherkasov (avcherkasov) 13.01.12 14:04
(18) stinga, вы имеете ввиду сервер 1С разворачивать под W7 или клиентов? Неважно, какая ОС, принцип действия одинаков, настройки postgresql храняться в тех же файлах, команды администрирования выполняються теже, только через оснастку pgadmin
23. Andrey Cherkasov (avcherkasov) 13.01.12 14:17
(22) Xolli, пожалуйста (есть кнопочка, если вам понравилась раздача).
24. Sidor Petrov (1cinfo1) 25.01.12 07:14
Информация, собранная в статье полезна.
От себя добавлю следующее.
При использовании платной версии Wine@Etersoft 2.0 столкнулись с проблемой использования программных ключей защиты. На версии 1.0.12 программный ключ вообще отказывается регистрироваться, на версии 2.0 ключ зарегестрировался, в обычном режиме запускается, а в режиме конфигуратора виснет напрочь. Так что имейте это ввиду, а то сейчас по умолчанию продают 1с с программной защитой.
В нескольких конторах используем Wine@Etersoft 1.0.12 с аппаратной защитой, таких проблем не возникает.

----
Добавлю на всякий случай. Общение с Etersoft подтвердило описанную проблему. Они сейчас занимаются ее исправлением, так что в ближайшее время должна появиться возможность использовать и программные ключи защиты.
25. Andrey Cherkasov (avcherkasov) 25.01.12 12:20
На днях столкнулся с проблемой: не возможно было завести контрагента русскими символами.
В программах, запущенных под WINE, не вводятся русские буквы (латинские буквы и цифры вводятся).
Проблема в неверных настройках системной локали или локали Иксов.
решение:
Код:
env LC_ALL=ru_RU.UTF-8 wine _имяпрограммы_
26. Sidor Petrov (1cinfo1) 01.03.12 18:31
На всякий случай сообщу, может кому полезно будет.
Недавно исправили ошибку - теперь программная защита работает, но только на хост-системе.
Т.к. если вы заходите настроить виртуальный сервер, на нем поднять сервер терминалов и поставить туда wine etersoft 2.0, то столкнетесь с зависанием программы при заходе в конфигуратор. При этом запуск в обычном режиме происходит нормально. Вот такие особенности.
27. Andrey Cherkasov (avcherkasov) 13.03.12 16:56
Вылезла новая проблемка, как я понимаю связанная с программным ключом.
Бросаю на работе запущенную 1С (и предприятие и конфигуратор). А с утра наблюдаю картину: предприятие аварийно закрыто и сообщение: ключ защиты программы больше недоступен... Конфигуратор же работает. Может этот ключ по неактивности рубить подключения в течении некоторого времени? Днём, когда все пользователи работают, такого не наблюдаеться. Кто сталкивался с такой проблеммой, может подскажете, где копать? Заранее благодарен всем, кто откликнеться.
28. Andrey Cherkasov (avcherkasov) 13.03.12 17:20
Задался вопросом почитать полезную информацию про конфигурацию УТП. Погуглив, оказалось, что не так уж и много источников именно применимых к данной конфе. Поэтому, выложу всем ищущим на обозрение полезную книжечку по ведению бух. и налогового учёта в УТП 8.2. Качество посредственное, но книжка неплохая. Дерзайте! Познавайте!
http://depositfiles.com/files/a9wup8srv
29. Sidor Petrov (1cinfo1) 05.04.12 05:29
(27) avcherkasov,
Эта проблема может быть связана с переходом времени на новые сутки. Я подобное наблюдал на аппаратном ключе защиты, но с оговоркой - если программа была запущена до полуночи и перевести вручную время, например, на 1 час ночи следующего дня, то выскакивала как раз описанная тобой проблема. Так что рой в эту сторону.
30. Andrey Cherkasov (avcherkasov) 19.04.12 18:25
Возник нюанс у одного пользователя. При запуске 1С выдала ошибку:
"Ошибка загрузки компоненты backbas" и отказалась запускаться.
Решается таким методом:
sudo touch /etc/odbcinst.ini
31. Микола Пальчиковський (kolyan_p) 28.01.13 11:34
Спасибо, очень полезно, но скрипт бэкапа по крону не выполняется, как устранить проблему? Почитал в документации ubuntu, надо как то добавить в скрипт от имени какого пользователя будет выполняться скрипт

При написании скрипта в команде pg_dump указывать от какого пользователя запускать, например pg_dump -U postgres, а то .pgpass все равно будет проигнорен.

создаем в папке ~/ файлик .pgpass

.pgpass хранит пароль postgres, и при обращении к базе либо ищется пользователь и пароль в данном файле либо в системных переменных типа PG_USER, PG_PASSWORD. Если есть установленные системные переменные, файл .pgpass игнорируется.

Формат файла: hostname:port:database:username:password

3) chmod 0600 ~/.pgpass - именно такие права должны быть у этого файла.

Теперь скрипт должен работать как надо.

Источники: документация к PostgreSQL.
32. Andrey Cherkasov (avcherkasov) 28.01.13 11:47
(31) kolyan_p, вот текст моего скрипта бэкапа:

#!/bin/bash

# Скрипт запуска резервного копирования БД 1С (храним 8 последних копий)

BACKUPDIR=/mnt/1c/Backup1C/ # Директория хранения бэкапов
DATENAME=`date +%d.%m.%Y-%H.%M` # Дата/Время в имени файла бэкапа
LOGFILE=/var/log/Backup1C.log # Хранилище лог-файлов
X=1 # Счетчик файлов
FILEMASK="*.backup" # маска файлов
KEEP=7 # сколько файлов (бэкапов) надо оставлять


cd $BACKUPDIR
echo Удаление старых резервных копий базы данных...

for i in `ls -t $BACKUPDIR/$FILEMASK`
do
if [ $X -le $KEEP ]
then
((X++))
continue
fi
rm $i
done

echo Начато резервное копирование базы данных...
pg_dump -Fc -U postgres "utp" > $DATENAME.utp.backup
echo "Резервное копирование БД УТП завершено: $DATENAME" > $LOGFILE

# Команда для восстановления БД из Backup
# pg_restore –U postgres –d utp –v /ПУТЬ/ИМЯФАЙЛА.utp.backup

#LAST LINE
33. Микола Пальчиковський (kolyan_p) 28.01.13 16:04
(32) avcherkasov, Так он у Вас сам запускается? Например мне надо чтобы он запускался каждый день в 00 часов 01 мину.
В файле etc/crontab дописываю

01 00 * * * root/mnt/1c/backup1c/backup

У меня не выполняет.
34. Andrey Cherkasov (avcherkasov) 28.01.13 16:11
# Backup БД 1С каждое воскресенье и среду в 3 утра
00 3 * * 3 root /mnt/1c/Backup1C/backup1c
00 3 * * 7 root /mnt/1c/Backup1C/backup1c
35. Andrey Cherkasov (avcherkasov) 28.01.13 16:12
(33) kolyan_p, пробел после рута нужен
36. Микола Пальчиковський (kolyan_p) 28.01.13 16:18
пробел есть, а сервер надо перезагружать после редактирования crontab?
37. Andrey Cherkasov (avcherkasov) 28.01.13 16:23
(36) kolyan_p, да необходимо дёрнуть службу cron
38. Микола Пальчиковський (kolyan_p) 28.01.13 18:11
(37) avcherkasov, Спасибо большое вечером попробую, перегружусь., а саму службу невозможно? читал так там только start и stop?
39. Andrey Cherkasov (avcherkasov) 29.01.13 10:40
40. Микола Пальчиковський (kolyan_p) 01.02.13 12:27
После пезагрузки сервера заработало, но попробовал саму службу и вот:!


kolyan_p, sudo /etc/init.d/cron restart


-bash: sudo: command not found
41. Andrey Cherkasov (avcherkasov) 01.02.13 12:38
(40) kolyan_p, читай форум http://forum.ubuntu.ru/index.php?PHPSESSID=cevpjcgblup0pi9kt5rppn0e52&topic=85790.0
Скорее всего у тебя пакет sudo не установлен в системе
42. mic auto (4ur) 19.08.13 18:00
Интересно, есть ли у кого на данный момент уже опыт работы с 1С 8.3 под Linux? А то клиент собрался переходить с 7.7 на 8.2, наверно уже лучше на 8.3,- т.к. надо покупать все лицензии, а они не дешевые, может есть смысл полностью отказаться от Windows, хоча пока обновлений конфигураций что-то под Linux еще ни разу не видел. Так что все равно хотя бы одна машина с WIndows должна быть...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа