При установке встретился с багами:
Ureadahead сообщает об ошибках относительного пути в выходных данных journalctl
With IPv6 disabled, openssh will not forward X connections
journalctl: open database /etc/aliases.db: No such file or directory
В данной статье опишем установку сервера СУБД PostgreSQL версия 9.6.7-1.1C на ubuntu 16.04.5 на физическое железо.
Нам потребуется (все 64 бит):
1. ubuntu 16.04.5
2. 1С берем на сайте 8.3.13.1690 при наличии договора ИТС
3. PostgreSQL версия 9.6.7.1-1C дистрибутив, дополнительные модули при наличии договора ИТС
4. Драйверы hasp берем etersoft
1. Устанавливаем ubuntu 16.04.5 без swap файла, т.е. размечаем вручную весь диск ext4 root.
RAM (16 GB)
Настройки ubuntu пользователь (привязка в скриптах) user пароль 12345, имя компьютера mtest, позже мы его сменим скриптом, как и ip адрес.
После установки, Ctrl +Alt + T (окно терминала)
$ sudo apt update -y
$ sudo apt upgrade -y
$ sudo apt install mc ssh samba -y
Возможно sudo apt upgrade -y не пройдет из за блокировки, тогда sudo reboot и повторите с начала.
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 003: ID 045e:078c Microsoft Corp.
Bus 001 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2. Настройка сети скриптом.
Узнаем ip и имя адаптера
$ ip a
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.0.253/24 brd 192.168.0.255 scope global enp3s0
$ nano network.sh
Скопируем из буфера следующий скрипт, в котором Вам нужно исправить ip, адрес шлюза и имя адаптера в соответствии со своей сетью:
#!/bin/bash
# настройка ip и hostname
#----------------------------------------------------------------------
_hostname="mtest"
# real computer
_iface="enp3s0"
_address="192.168.0.253"
_gateway="192.168.0.1"
_netmask="255.255.255.0"
_nameserver="8.8.8.8"
#----------------------------------------------------------------------
# отключим сетевой менеджер для ubuntu desktop#sudo systemctl stop NetworkManager.service
#sudo systemctl disable NetworkManager.service
# настроим статический ip
sudo cat > /tmp/interfaces <<EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# для DHCP
# The primary network interface
#auto $_iface
#iface $_iface inet dhcp
# для статического ip
iface $_iface inet static
address $_address
netmask $_netmask
gateway $_gateway
dns-nameservers $_nameserver
auto $_iface
EOF
sudo cp /tmp/interfaces /etc/network
#sudo rm /etc/resolv.conf
#sudo /bin/su -c "echo 'nameserver $_nameserver' > /etc/resolv.conf"
# изменим hostname и ip
sudo cat > /tmp/hosts <<EOF
127.0.0.1 localhost
$_address $_hostname
EOF
sudo cp /tmp/hosts /etc
# изменим hostname
sudo hostname $_hostname
sudo /bin/su -c "echo $_hostname > /etc/hostname"
# отключим ipv6
sudo /bin/su -c "echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf"
#sudo /bin/su -c "echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf"
#тюнинг postgresql
#add a swap file to an Ubuntu 16.04
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
sudo echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo /bin/su -c "echo 'vm.swappiness=1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'kernel.sched_migration_cost_ns = 5000000' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'kernel.sched_autogroup_enabled = 0' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.dirty_background_bytes = 67108864' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.dirty_bytes = 536870912' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.zone_reclaim_mode = 0' >> /etc/sysctl.conf"
sudo sysctl -p
# перезагрузим сеть
sudo systemctl restart networking.service
#sudo systemctl start networking.service
#sudo systemctl enable networking.service
# Настройка sudo journalctl -b sudo journalctl -b -1 sudo journalctl --list-boots
sudo sed -i 's/#Storage=auto/Storage=persistent/' /etc/systemd/journald.conf
# Отключение уведомлений службы Apport (/var/crash)
sudo sed -i 's/enabled=1/enabled=0/' /etc/default/apport
# Отключим службу ondemand# (для разгона cpu)
# cat /proc/cpuinfo | grep MHz
# systemctl status ondemand
sudo systemctl stop ondemand
sudo systemctl disable ondemand
# shutdown -r now
Сохраним файл network.sh
------------------------------------------
Сделаем исполняем
$ chmod +x network.sh
Выполним:
$ sudo ./network.sh
или
$ sudo sh network.sh
------------------------------------------
Перезагрузимся
Настройка Ubuntu для работы с ИБП от APC
к нашей виртуальной машине (по ip или или имени ) загрузить файлы установки:
$ mkdir /home/user/test
В папку /test положить файлы:
postgresql_9.6.7_1.1C_amd64_deb.tar.bz2
postgresql_9.6.7_1.1C_amd64_addon_deb.tar.bz2
$ sudo apt-get install libicu55 postgresql-common libtcl8.6 -y
$ dpkg -l | grep postgres
$ dpkg -l | grep postgres | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
$ mkdir -p /tmp/post
$ cp /home/user/test/postgresql_9.6.7_1.1C_amd64_deb.tar.bz2 /tmp/post/
$ cp /home/user/test/postgresql_9.6.7_1.1C_amd64_addon_deb.tar.bz2 /tmp/post/
$ cd /tmp/post
$ tar -xvf postgresql_9.6.7_1.1C_amd64_deb.tar.bz2
$ cd postgresql-9.6.7-1.1C_amd64_deb
$ sudo dpkg -i *.deb
$ cd /tmp/post/
$ tar -xvf postgresql_9.6.7_1.1C_amd64_addon_deb.tar.bz2
$ cd postgresql-9.6.7-1.1C_amd64_addon_deb
$ sudo dpkg -i *.deb
#$ sudo apt install -f
$ dpkg -l | grep 9.6.7-1.1C
$ dpkg -l | grep 9.6.7-1.1C | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
$ sudo -u postgres psql -U postgres -c "alter user postgres with password 'pass';"
$ sudo cp /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf.bak
------
#Делаем проверки
$ sudo systemctl status postgresql.service
$ ss -tunpl | grep 5432
tcp LISTEN 0 128 *:5432 *:*
tcp LISTEN 0 128 :::5432 :::*
$ ps aux | grep postgres | grep -- -D
postgres 5583 0.0 0.0 315616 27400 ? S 17:23 0:00 /usr/lib/postgresql/9.6/bin/postgres -D /var/lib/postgresql/9.6/main -c config_file=/etc/postgresql/9.6/main/postgresql.conf
-------------------------------------------------------------------------------------------------------
$ mkdir -p /tmp/1ctmp
$ cd /tmp/1ctmp
$ sudo apt install imagemagick -y
#$sudo apt install -y unixodbc libgsf-1-114 libglib2.0
$ sudo apt install libfreetype6 libgsf-1-common unixodbc glib2.0
#ubuntu
$ sudo apt install -y xfonts-utils cabextract
$ sudo apt install ttf-mscorefonts-installer -y
$ ls /home/user/test/
$ cp /home/user/test/deb64_8_3_13_1690.tar.gz /tmp/1ctmp$ tar xvzf deb64_8_3_13_1690.tar.gz
$ sudo dpkg -i 1c-enterprise83-common_8.3.13-1690_amd64.deb
$ sudo dpkg -i 1c-enterprise83-server_8.3.13-1690_amd64.deb
#$ sudo apt -f -y install
$ sudo chown -R usr1cv8:grp1cv8 /opt/1C
$ sudo echo -e "pass\npass\n" | sudo passwd usr1cv8
$ sudo service srv1cv83 start
$ sudo service srv1cv83 status
$ sudo usermod -aG sudo usr1cv8
$ sudo apt install -y libc6-i386
$ mkdir /tmp/hasp
$ cd /tmp/hasp
$ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/16.04/haspd-modules_7.60-eter1ubuntu_amd64.deb
$ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/16.04/haspd_7.60-eter1ubuntu_amd64.deb
$ sudo dpkg -i *.deb
#$ sudo apt-get install -f -y
$ sudo service haspd start
$ sudo service haspd status
$ sudo reboot
$ sudo service srv1cv83 status
$ ss -tlnp | grep :15
LISTEN 0 128 *:1560 *:*
LISTEN 0 128 *:1540 *:*
LISTEN 0 128 *:1541 *:*
LISTEN 0 128 :::1560 :::*
LISTEN 0 128 :::1540 :::*
LISTEN 0 128 :::1541 :::*
Не встал скриптом imagemagick?
Без строчки ниже будет ругаться при входе в 1с
$ sudo apt-get install imagemagick -y
$ sudo reboot
$ sudo chmod -R 777 /share/
$ sudo chown -R root:sambashare /share/
$ sudo cp -b -f /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ sudo nano /etc/samba/smb.conf
Добавить в конец
[files]
path = /share/
comment = No comment
read only = no
available = yes
browseable = yes
writable = yes
guest ok = yes
public = yes
printable = no
locking = no
strict locking = no
Сохранить
Перезагрузить службу
$ sudo service smbd restart
$ sudo usermod -aG sudo usr1cv8
$ sudo su - usr1cv8
$ mkdir -p /home/usr1cv8/.1cv8/1C/1cv8/conf/
S nano /home/usr1cv8/.1cv8/1C/1cv8/conf/logcfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="/home/usr1cv8/log" history="96">
<event>
<eq property="name" value="DBPOSTGRS"/>
</event>
<event>
<eq property="name" value="SDBL"/>
</event>
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
Сохранить.
Другой вариант:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="/home/usr1cv8/log" history="96">
<event>
<ne property="name" value="DB2" />
<ne property="name" value="DBMSSQL" />
<ne property="name" value="DBMSSQLCONN" />
<ne property="name" value="DBORACLE" />
<ne property="name" value="DBPOSTGRS" />
<ne property="name" value="DBV8DBENG" />
<ne property="name" value="SDBL" />
<ne property="name" value="MEM" />
<ne property="name" value="TLOCK" />
<ne property="name" value="SRVC" />
<ne property="name" value="CALL" />
<ne property="name" value="CONN" />
<ne property="name" value="SCALL" />
<ne property="name" value="SCOM" />
<ne property="name" value="VRSREQUEST" />
<ne property="name" value="VRSRESPONSE" />
</event>
<property name="all" />
</log>
</config>
$ sudo su - usr1cv8
$ mkdir -p /home/usr1cv8/dumps/
$ mkdir -p /home/usr1cv8/log/
#$ sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/
$ echo 'usr1cv8 soft core unlimited' | sudo tee -a /etc/security/limits.conf
$ echo 'usr1cv8 hard core unlimited' | sudo tee -a /etc/security/limits.conf
$ echo 'kernel.core_pattern=/home/usr1cv8/dumps/core.%e.%p ' | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
Для автоматического создания бекапов:
Зададим папку, если не делали раньше,
$ mkdir /home/user/backup
#$ sudo chmod -R 777 /home/user/backup
#$ sudo chown -R user:user /home/user/backup
$ sudo cp /etc/fstab /etc/fstab.bak
$ ls -l /dev/disk/by-uuid
итого 0
lrwxrwxrwx 1 root root 10 янв 26 16:26 249a8fb4-196c-497b-962d-36a4fa994afd -> ../../sda1
lrwxrwxrwx 1 root root 10 янв 26 16:26 cf0301e7-62cb-4f3c-b6f1-3e126a8a675a -> ../../sdb1
$ sudo nano /etc/fstab
Добавить/исправить
UUID=cf0301e7-62cb-4f3c-b6f1-3e126a8a675a /home/user/backup ext4 defaults 0 2
Сохранить.
$ sudo reboot
Можно подключать базу 1С postgres пароль pass
(вместо test имя своего сервера)
Для 16 Gb RAM иначе не запустится!!!
Из 16 Gb выделяем 8 PostgreSQL
sudo cp /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf.bak
sudo nano /etc/postgresql/9.6/main/postgresql.conf
Добавить в конец:
# Total Memory (RAM): 8 GB
# Data Storage: ssd
max_connections = 1000
shared_buffers = 2GB
temp_buffers = 128MB
work_mem = 32MB
effective_cache_size = 6GB
maintenance_work_mem = 512MB
wal_buffers = 16MB
min_wal_size = 2GB
max_wal_size = 4GB
default_statistics_target = 100
effective_io_concurrency = 2
random_page_cost = 1.1
autovacuum = on
autovacuum_max_workers = 4
autovacuum_naptime = 20s
bgwriter_delay = 20ms
bgwriter_lru_multiplier = 4.0
bgwriter_lru_maxpages = 400
synchronous_commit = off
checkpoint_completion_target = 0.9
#min_wal_size = 2GB
#max_wal_size = 4GB
ssl = off
fsync = on
commit_delay = 1000
commit_siblings = 5
row_security = off
max_files_per_process = 1000
standard_conforming_strings = off
escape_string_warning = off
max_locks_per_transaction = 256
#log_min_duration_statement = 0
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
#log_autovacuum_min_duration = 0
lc_messages='C'
#log_duration = on
#log_statement = 'all'
log_destination = 'stderr'
plantuner.fix_empty_table = 'on'
online_analyze.table_type = 'temporary'
online_analyze.verbose = 'off'
# для pg_basebackup
max_replication_slots = 10
max_wal_senders = 10
wal_level = replica
Сохранить.
# для pg_basebackup
sudo nano /etc/postgresql/9.6/main/pg_hba.conf
Раскомментировать:
local replication postgres peer
host replication postgres 127.0.0.1/32 md5
Сохранить
$ sudo systemctl restart postgresql.service
$ sudo systemctl restart srv1cv83.service
Настройка Postfix для отправки почты через yandex
$ mkdir -p /home/user/backup/yandex
$ sudo mkdir /backup
$ sudo chown -R postgres:postgres /backup
$ nano backup.sh
Вставить текст ниже:
#!/bin/sh
set -e
PASSWORD='AQwTDF95Jpwsunx93iZH'
DATA=`date +"%Y-%m-%d_%H-%M-%S"`
DIR_TMP='/backup'
DIR_BACKUP='/home/user/backup'
DIR_YANDEX='/home/user/backup/yandex'
#echo "--------------------------------------------------------------------" >> /home/user/backup/backup.log
# Записываем информацию в лог с секундами
echo "$DATA Start backup"
echo "$DATA Start backup" >> /home/user/backup/backup.log
sudo /bin/su postgres -c "rm -rf $DIR_TMP/*" && sudo /bin/su postgres -c "/usr/bin/pg_basebackup -D $DIR_TMP -Ft -z -Xf -P" && sudo mv $DIR_TMP/base.tar.gz $DIR_BACKUP/base-$DATA.tar.gz
#&& sudo /bin/su user -c "openssl enc -aes-256-cbc -salt -in $DIR_BACKUP/base-$DATA.tar.gz -out $DIR_YANDEX/base-$DATA.tar.gz.enc -k $PASSWORD" && sudo /bin/su user -c "yandex-disk start" && sudo /bin/su postgres -c "/usr/bin/vacuumdb -zfa" >> /home/user/backup/backup.log
#echo $?
DATA=`date +"%Y-%m-%d_%H-%M-%S"`
if [ $? -ne 0 ]
then
echo "$DATA Ошибка завершения для backup"
echo "$DATA Ошибка завершения для backup" >> /home/user/backup/backup.log
else
echo "$DATA Успешное завершение backup"
echo "$DATA Успешное завершение backup" >> /home/user/backup/backup.log
fi
echo "--------------------------------------------------------------------" >> /home/user/backup/backup.log
Сохранить
Однократный запуск:
$ sudo sh backup.sh
Запуск по расписанию:
$ sudo -i
# crontab -e
Добавить в конец (сработает в 18:01):
# каждые день в 18.00
Смотреть задания:
# crontab -l
Проверка backup
Посмотрим архивные копии:
$ ls /home/user/backup
backup.log demo_2019-02-02_17-42 demo_2019-02-02_18-00
#$ sudo /bin/su postgres -c "pg_dump -Fc demo" > /home/user/test/backup/demo
Создадим тестовую базу:
$ sudo /bin/su postgres -c "createdb --username postgres -T template0 demotest"
Восстановим указав резервную копию
$ sudo /bin/su postgres -c "pg_restore -d demotest /home/user/backup/demo_2019-02-02_18-00"
к ней можно подключиться из 1С
Посмотреть список баз:
$ sudo /bin/su postgres -c "psql -l"
Размер базы demo
$ sudo su -c "psql -d demo -c \"select pg_size_pretty( pg_database_size('demo'))\"" postgres
Размер базы demotest
$ sudo su -c "psql -d demo -c \"select pg_size_pretty( pg_database_size('demotest'))\"" postgres
Размер базы demo
$ sudo su -c "psql -c \"select pg_size_pretty( pg_database_size('demo'))\"" postgres
Размер базы demotest
$ sudo su -c "psql -c \"select pg_size_pretty( pg_database_size('demotest'))\"" postgres
Удаление базы demotest
$ sudo /bin/su postgres -c "dropdb demotest"
Посмотреть список баз:
$ sudo /bin/su postgres -c "psql -l"
.
#----------------------------------------------------------------------
$ nano changeip.sh
Скопируем из буфера следующий скрипт, в котором Вам нужно исправить ip и адрес шлюза в соответствии со своей сетью:
#!/bin/bash
# настройка ip и hostname
#----------------------------------------------------------------------
_hostname="mtest"
# real computer
_iface="enp3s0"
_address="192.168.0.253"
_gateway="192.168.0.1"
_netmask="255.255.255.0"
_nameserver="8.8.8.8"
#----------------------------------------------------------------------
# настроим статический ip
sudo cat > /tmp/interfaces <<EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# для DHCP
#auto $_iface
#iface $_iface inet dhcp
# для статического ip
iface $_iface inet static
address $_address
netmask $_netmask
gateway $_gateway
dns-nameservers $_nameserver
auto $_iface
EOF
sudo cp /tmp/interfaces /etc/network#sudo rm /etc/resolv.conf
#sudo /bin/su -c "echo 'nameserver $_nameserver' > /etc/resolv.conf"
# изменим hostname и ip
sudo cat > /tmp/hosts <<EOF
127.0.0.1 localhost
$_address $_hostname
EOF
sudo cp /tmp/hosts /etc
# изменим hostname
sudo hostname $_hostname
sudo /bin/su -c "echo $_hostname > /etc/hostname"
# перезагрузим сеть
sudo systemctl restart networking.service
Сохраним файл changeip.sh
Сделаем исполняем
$ chmod +x changeip.sh
Выполним:
$ ./changeip.sh
Тестирование.
Тестовая база.
Документ начисление зарплаты и взносов за август:
Очистить.
1. Без настройки postgresql.conf и без тж
Заполнить: 229 с
Провести: 222 с
2. с настройкой postgresql.conf и без тж
Заполнить: 229 с
Провести: 222 с
$ free -m
total used free shared buff/cache available
Память: 15921 1153 6517 1259 8250 13135
Подкачка: 8191 0 8191
Ureadahead сообщает об ошибках относительного пути в выходных данных journalctl
With IPv6 disabled, openssh will not forward X connections
journalctl: open database /etc/aliases.db: No such file or directory
В данной статье опишем установку сервера СУБД PostgreSQL версия 9.6.7-1.1C на ubuntu 16.04.5 на физическое железо.
Нам потребуется (все 64 бит):
1. ubuntu 16.04.5
2. 1С берем на сайте 8.3.13.1690 при наличии договора ИТС
3. PostgreSQL версия 9.6.7.1-1C дистрибутив, дополнительные модули при наличии договора ИТС
4. Драйверы hasp берем etersoft
1. Устанавливаем ubuntu 16.04.5 без swap файла, т.е. размечаем вручную весь диск ext4 root.
RAM (16 GB)
Настройки ubuntu пользователь (привязка в скриптах) user пароль 12345, имя компьютера mtest, позже мы его сменим скриптом, как и ip адрес.
После установки, Ctrl +Alt + T (окно терминала)
$ sudo apt update -y
$ sudo apt upgrade -y
$ sudo apt install mc ssh samba -y
Возможно sudo apt upgrade -y не пройдет из за блокировки, тогда sudo reboot и повторите с начала.
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 003: ID 045e:078c Microsoft Corp.
Bus 001 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2. Настройка сети скриптом.
Узнаем ip и имя адаптера
$ ip a
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.0.253/24 brd 192.168.0.255 scope global enp3s0
$ nano network.sh
Скопируем из буфера следующий скрипт, в котором Вам нужно исправить ip, адрес шлюза и имя адаптера в соответствии со своей сетью:
#!/bin/bash
# настройка ip и hostname
#----------------------------------------------------------------------
_hostname="mtest"
# real computer
_iface="enp3s0"
_address="192.168.0.253"
_gateway="192.168.0.1"
_netmask="255.255.255.0"
_nameserver="8.8.8.8"
#----------------------------------------------------------------------
# отключим сетевой менеджер для ubuntu desktop#sudo systemctl stop NetworkManager.service
#sudo systemctl disable NetworkManager.service
# настроим статический ip
sudo cat > /tmp/interfaces <<EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# для DHCP
# The primary network interface
#auto $_iface
#iface $_iface inet dhcp
# для статического ip
iface $_iface inet static
address $_address
netmask $_netmask
gateway $_gateway
dns-nameservers $_nameserver
auto $_iface
EOF
sudo cp /tmp/interfaces /etc/network
#sudo rm /etc/resolv.conf
#sudo /bin/su -c "echo 'nameserver $_nameserver' > /etc/resolv.conf"
# изменим hostname и ip
sudo cat > /tmp/hosts <<EOF
127.0.0.1 localhost
$_address $_hostname
EOF
sudo cp /tmp/hosts /etc
# изменим hostname
sudo hostname $_hostname
sudo /bin/su -c "echo $_hostname > /etc/hostname"
# отключим ipv6
sudo /bin/su -c "echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf"
#sudo /bin/su -c "echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf"
#тюнинг postgresql
#add a swap file to an Ubuntu 16.04
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
sudo echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo /bin/su -c "echo 'vm.swappiness=1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'kernel.sched_migration_cost_ns = 5000000' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'kernel.sched_autogroup_enabled = 0' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.dirty_background_bytes = 67108864' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.dirty_bytes = 536870912' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.zone_reclaim_mode = 0' >> /etc/sysctl.conf"
sudo sysctl -p
# перезагрузим сеть
sudo systemctl restart networking.service
#sudo systemctl start networking.service
#sudo systemctl enable networking.service
# Настройка sudo journalctl -b sudo journalctl -b -1 sudo journalctl --list-boots
sudo sed -i 's/#Storage=auto/Storage=persistent/' /etc/systemd/journald.conf
# Отключение уведомлений службы Apport (/var/crash)
sudo sed -i 's/enabled=1/enabled=0/' /etc/default/apport
# Отключим службу ondemand# (для разгона cpu)
# cat /proc/cpuinfo | grep MHz
# systemctl status ondemand
sudo systemctl stop ondemand
sudo systemctl disable ondemand
# shutdown -r now
Сохраним файл network.sh
------------------------------------------
Сделаем исполняем
$ chmod +x network.sh
Выполним:
$ sudo ./network.sh
или
$ sudo sh network.sh
------------------------------------------
Перезагрузимся
Настройка Ubuntu для работы с ИБП от APC
Установка СУБД PostgreSQL версия 9.6.7-1.1С
После перезагрузки по сети можно подключиться MobaXtermк нашей виртуальной машине (по ip или или имени ) загрузить файлы установки:
$ mkdir /home/user/test
В папку /test положить файлы:
postgresql_9.6.7_1.1C_amd64_deb.tar.bz2
postgresql_9.6.7_1.1C_amd64_addon_deb.tar.bz2
$ sudo apt-get install libicu55 postgresql-common libtcl8.6 -y
$ dpkg -l | grep postgres
$ dpkg -l | grep postgres | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
$ mkdir -p /tmp/post
$ cp /home/user/test/postgresql_9.6.7_1.1C_amd64_deb.tar.bz2 /tmp/post/
$ cp /home/user/test/postgresql_9.6.7_1.1C_amd64_addon_deb.tar.bz2 /tmp/post/
$ cd /tmp/post
$ tar -xvf postgresql_9.6.7_1.1C_amd64_deb.tar.bz2
$ cd postgresql-9.6.7-1.1C_amd64_deb
$ sudo dpkg -i *.deb
$ cd /tmp/post/
$ tar -xvf postgresql_9.6.7_1.1C_amd64_addon_deb.tar.bz2
$ cd postgresql-9.6.7-1.1C_amd64_addon_deb
$ sudo dpkg -i *.deb
#$ sudo apt install -f
$ dpkg -l | grep 9.6.7-1.1C
$ dpkg -l | grep 9.6.7-1.1C | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
$ sudo -u postgres psql -U postgres -c "alter user postgres with password 'pass';"
$ sudo cp /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf.bak
------
#Делаем проверки
$ sudo systemctl status postgresql.service
$ ss -tunpl | grep 5432
tcp LISTEN 0 128 *:5432 *:*
tcp LISTEN 0 128 :::5432 :::*
$ ps aux | grep postgres | grep -- -D
postgres 5583 0.0 0.0 315616 27400 ? S 17:23 0:00 /usr/lib/postgresql/9.6/bin/postgres -D /var/lib/postgresql/9.6/main -c config_file=/etc/postgresql/9.6/main/postgresql.conf
-------------------------------------------------------------------------------------------------------
Установка 1с
# установка 1с$ mkdir -p /tmp/1ctmp
$ cd /tmp/1ctmp
$ sudo apt install imagemagick -y
#$sudo apt install -y unixodbc libgsf-1-114 libglib2.0
$ sudo apt install libfreetype6 libgsf-1-common unixodbc glib2.0
#ubuntu
$ sudo apt install -y xfonts-utils cabextract
$ sudo apt install ttf-mscorefonts-installer -y
$ ls /home/user/test/
$ cp /home/user/test/deb64_8_3_13_1690.tar.gz /tmp/1ctmp$ tar xvzf deb64_8_3_13_1690.tar.gz
$ sudo dpkg -i 1c-enterprise83-common_8.3.13-1690_amd64.deb
$ sudo dpkg -i 1c-enterprise83-server_8.3.13-1690_amd64.deb
#$ sudo apt -f -y install
$ sudo chown -R usr1cv8:grp1cv8 /opt/1C
$ sudo echo -e "pass\npass\n" | sudo passwd usr1cv8
$ sudo service srv1cv83 start
$ sudo service srv1cv83 status
$ sudo usermod -aG sudo usr1cv8
$ sudo apt install -y libc6-i386
$ mkdir /tmp/hasp
$ cd /tmp/hasp
$ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/16.04/haspd-modules_7.60-eter1ubuntu_amd64.deb
$ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/16.04/haspd_7.60-eter1ubuntu_amd64.deb
$ sudo dpkg -i *.deb
#$ sudo apt-get install -f -y
$ sudo service haspd start
$ sudo service haspd status
$ sudo reboot
$ sudo service srv1cv83 status
$ ss -tlnp | grep :15
LISTEN 0 128 *:1560 *:*
LISTEN 0 128 *:1540 *:*
LISTEN 0 128 *:1541 *:*
LISTEN 0 128 :::1560 :::*
LISTEN 0 128 :::1540 :::*
LISTEN 0 128 :::1541 :::*
Не встал скриптом imagemagick?
Без строчки ниже будет ругаться при входе в 1с
$ sudo apt-get install imagemagick -y
$ sudo reboot
Зашарить папку по сети
$ sudo mkdir /share/$ sudo chmod -R 777 /share/
$ sudo chown -R root:sambashare /share/
$ sudo cp -b -f /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ sudo nano /etc/samba/smb.conf
Добавить в конец
[files]
path = /share/
comment = No comment
read only = no
available = yes
browseable = yes
writable = yes
guest ok = yes
public = yes
printable = no
locking = no
strict locking = no
Сохранить
Перезагрузить службу
$ sudo service smbd restart
Настройка технологического журнала |
$ sudo su - usr1cv8
$ mkdir -p /home/usr1cv8/.1cv8/1C/1cv8/conf/
S nano /home/usr1cv8/.1cv8/1C/1cv8/conf/logcfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="/home/usr1cv8/log" history="96">
<event>
<eq property="name" value="DBPOSTGRS"/>
</event>
<event>
<eq property="name" value="SDBL"/>
</event>
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
Сохранить.
Другой вариант:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="/home/usr1cv8/log" history="96">
<event>
<ne property="name" value="DB2" />
<ne property="name" value="DBMSSQL" />
<ne property="name" value="DBMSSQLCONN" />
<ne property="name" value="DBORACLE" />
<ne property="name" value="DBPOSTGRS" />
<ne property="name" value="DBV8DBENG" />
<ne property="name" value="SDBL" />
<ne property="name" value="MEM" />
<ne property="name" value="TLOCK" />
<ne property="name" value="SRVC" />
<ne property="name" value="CALL" />
<ne property="name" value="CONN" />
<ne property="name" value="SCALL" />
<ne property="name" value="SCOM" />
<ne property="name" value="VRSREQUEST" />
<ne property="name" value="VRSRESPONSE" />
</event>
<property name="all" />
</log>
</config>
Настройка дампов
#$ sudo usermod -aG sudo usr1cv8$ sudo su - usr1cv8
$ mkdir -p /home/usr1cv8/dumps/
$ mkdir -p /home/usr1cv8/log/
#$ sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/
$ echo 'usr1cv8 soft core unlimited' | sudo tee -a /etc/security/limits.conf
$ echo 'usr1cv8 hard core unlimited' | sudo tee -a /etc/security/limits.conf
$ echo 'kernel.core_pattern=/home/usr1cv8/dumps/core.%e.%p ' | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
Для автоматического создания бекапов:
Зададим папку, если не делали раньше,
$ mkdir /home/user/backup
#$ sudo chmod -R 777 /home/user/backup
#$ sudo chown -R user:user /home/user/backup
$ sudo cp /etc/fstab /etc/fstab.bak
$ ls -l /dev/disk/by-uuid
итого 0
lrwxrwxrwx 1 root root 10 янв 26 16:26 249a8fb4-196c-497b-962d-36a4fa994afd -> ../../sda1
lrwxrwxrwx 1 root root 10 янв 26 16:26 cf0301e7-62cb-4f3c-b6f1-3e126a8a675a -> ../../sdb1
$ sudo nano /etc/fstab
Добавить/исправить
UUID=cf0301e7-62cb-4f3c-b6f1-3e126a8a675a /home/user/backup ext4 defaults 0 2
Сохранить.
$ sudo reboot
Можно подключать базу 1С postgres пароль pass
(вместо test имя своего сервера)
Для 16 Gb RAM иначе не запустится!!!
Из 16 Gb выделяем 8 PostgreSQL
sudo cp /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf.bak
sudo nano /etc/postgresql/9.6/main/postgresql.conf
Добавить в конец:
# Total Memory (RAM): 8 GB
# Data Storage: ssd
max_connections = 1000
shared_buffers = 2GB
temp_buffers = 128MB
work_mem = 32MB
effective_cache_size = 6GB
maintenance_work_mem = 512MB
wal_buffers = 16MB
min_wal_size = 2GB
max_wal_size = 4GB
default_statistics_target = 100
effective_io_concurrency = 2
random_page_cost = 1.1
autovacuum = on
autovacuum_max_workers = 4
autovacuum_naptime = 20s
bgwriter_delay = 20ms
bgwriter_lru_multiplier = 4.0
bgwriter_lru_maxpages = 400
synchronous_commit = off
checkpoint_completion_target = 0.9
#min_wal_size = 2GB
#max_wal_size = 4GB
ssl = off
fsync = on
commit_delay = 1000
commit_siblings = 5
row_security = off
max_files_per_process = 1000
standard_conforming_strings = off
escape_string_warning = off
max_locks_per_transaction = 256
#log_min_duration_statement = 0
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
#log_autovacuum_min_duration = 0
lc_messages='C'
#log_duration = on
#log_statement = 'all'
log_destination = 'stderr'
plantuner.fix_empty_table = 'on'
online_analyze.table_type = 'temporary'
online_analyze.verbose = 'off'
# для pg_basebackup
max_replication_slots = 10
max_wal_senders = 10
wal_level = replica
Сохранить.
# для pg_basebackup
sudo nano /etc/postgresql/9.6/main/pg_hba.conf
Раскомментировать:
local replication postgres peer
host replication postgres 127.0.0.1/32 md5
Сохранить
$ sudo systemctl restart postgresql.service
$ sudo systemctl restart srv1cv83.service
Настройка Postfix для отправки почты через yandex
Настройки для backup c pg_basebackup
$ mkdir -p /home/user/backup/yandex
$ sudo mkdir /backup
$ sudo chown -R postgres:postgres /backup
$ nano backup.sh
Вставить текст ниже:
#!/bin/sh
set -e
PASSWORD='AQwTDF95Jpwsunx93iZH'
DATA=`date +"%Y-%m-%d_%H-%M-%S"`
DIR_TMP='/backup'
DIR_BACKUP='/home/user/backup'
DIR_YANDEX='/home/user/backup/yandex'
#echo "--------------------------------------------------------------------" >> /home/user/backup/backup.log
# Записываем информацию в лог с секундами
echo "$DATA Start backup"
echo "$DATA Start backup" >> /home/user/backup/backup.log
sudo /bin/su postgres -c "rm -rf $DIR_TMP/*" && sudo /bin/su postgres -c "/usr/bin/pg_basebackup -D $DIR_TMP -Ft -z -Xf -P" && sudo mv $DIR_TMP/base.tar.gz $DIR_BACKUP/base-$DATA.tar.gz
#&& sudo /bin/su user -c "openssl enc -aes-256-cbc -salt -in $DIR_BACKUP/base-$DATA.tar.gz -out $DIR_YANDEX/base-$DATA.tar.gz.enc -k $PASSWORD" && sudo /bin/su user -c "yandex-disk start" && sudo /bin/su postgres -c "/usr/bin/vacuumdb -zfa" >> /home/user/backup/backup.log
#echo $?
DATA=`date +"%Y-%m-%d_%H-%M-%S"`
if [ $? -ne 0 ]
then
echo "$DATA Ошибка завершения для backup"
echo "$DATA Ошибка завершения для backup" >> /home/user/backup/backup.log
else
echo "$DATA Успешное завершение backup"
echo "$DATA Успешное завершение backup" >> /home/user/backup/backup.log
fi
echo "--------------------------------------------------------------------" >> /home/user/backup/backup.log
Сохранить
Однократный запуск:
$ sudo sh backup.sh
Запуск по расписанию:
$ sudo -i
# crontab -e
Добавить в конец (сработает в 18:01):
# каждые день в 18.00
0 18 * * * sh /home/user/backup.sh Сохранить.
Смотреть задания:
# crontab -l
Проверка backup
Посмотрим архивные копии:
$ ls /home/user/backup
backup.log demo_2019-02-02_17-42 demo_2019-02-02_18-00
#$ sudo /bin/su postgres -c "pg_dump -Fc demo" > /home/user/test/backup/demo
Создадим тестовую базу:
$ sudo /bin/su postgres -c "createdb --username postgres -T template0 demotest"
Восстановим указав резервную копию
$ sudo /bin/su postgres -c "pg_restore -d demotest /home/user/backup/demo_2019-02-02_18-00"
к ней можно подключиться из 1С
Посмотреть список баз:
$ sudo /bin/su postgres -c "psql -l"
Размер базы demo
$ sudo su -c "psql -d demo -c \"select pg_size_pretty( pg_database_size('demo'))\"" postgres
Размер базы demotest
$ sudo su -c "psql -d demo -c \"select pg_size_pretty( pg_database_size('demotest'))\"" postgres
Размер базы demo
$ sudo su -c "psql -c \"select pg_size_pretty( pg_database_size('demo'))\"" postgres
Размер базы demotest
$ sudo su -c "psql -c \"select pg_size_pretty( pg_database_size('demotest'))\"" postgres
Удаление базы demotest
$ sudo /bin/su postgres -c "dropdb demotest"
Посмотреть список баз:
$ sudo /bin/su postgres -c "psql -l"
.
#----------------------------------------------------------------------
Скрипт изменения ip адреса
$ nano changeip.sh
Скопируем из буфера следующий скрипт, в котором Вам нужно исправить ip и адрес шлюза в соответствии со своей сетью:
#!/bin/bash
# настройка ip и hostname
#----------------------------------------------------------------------
_hostname="mtest"
# real computer
_iface="enp3s0"
_address="192.168.0.253"
_gateway="192.168.0.1"
_netmask="255.255.255.0"
_nameserver="8.8.8.8"
#----------------------------------------------------------------------
# настроим статический ip
sudo cat > /tmp/interfaces <<EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# для DHCP
#auto $_iface
#iface $_iface inet dhcp
# для статического ip
iface $_iface inet static
address $_address
netmask $_netmask
gateway $_gateway
dns-nameservers $_nameserver
auto $_iface
EOF
sudo cp /tmp/interfaces /etc/network#sudo rm /etc/resolv.conf
#sudo /bin/su -c "echo 'nameserver $_nameserver' > /etc/resolv.conf"
# изменим hostname и ip
sudo cat > /tmp/hosts <<EOF
127.0.0.1 localhost
$_address $_hostname
EOF
sudo cp /tmp/hosts /etc
# изменим hostname
sudo hostname $_hostname
sudo /bin/su -c "echo $_hostname > /etc/hostname"
# перезагрузим сеть
sudo systemctl restart networking.service
Сохраним файл changeip.sh
Сделаем исполняем
$ chmod +x changeip.sh
Выполним:
$ ./changeip.sh
Тестирование.
Тестовая база.
Документ начисление зарплаты и взносов за август:
Очистить.
1. Без настройки postgresql.conf и без тж
Заполнить: 229 с
Провести: 222 с
2. с настройкой postgresql.conf и без тж
Заполнить: 229 с
Провести: 222 с
$ free -m
total used free shared buff/cache available
Память: 15921 1153 6517 1259 8250 13135
Подкачка: 8191 0 8191
Комментариев нет:
Отправить комментарий