среда, 23 октября 2019 г.

Тестирование и исправление конфигурации на сервере Ubuntu

7.4.5. Проверки конфигурации и расширений
Работа с конфигуратором по протоколу SSH (не в режиме агента)
xvfb-run • help

$ sudo dpkg -i 1c-enterprise83-client_8.3.15-1565_amd64.deb
$ sudo apt install -f
$ sudo apt-get install xvfb dbus-x11

$ nano test.sh
#!/bin/sh
/opt/1C/v8.3/x86_64/./1cv8 DESIGNER /S"u1804\demo" /N"Григорьянц А.А. (системный администратор)" \
/P"12345"  /IBcheckAndRepair -LogAndRefsIntegrity /Out"/home/user/log.txt"

или

#!/bin/sh
/opt/1C/v8.3/x86_64/./1cv8 DESIGNER /S"u1804\demo" /N"ЛяшоваЛП" \
/P"12345"  /IBcheckAndRepair -LogAndRefsIntegrity /Out"/home/user/log.txt"

#!/bin/sh
/opt/1C/v8.3/x86_64/./1cv8 DESIGNER /S"u1804\demo" /N"ЛяшоваЛП" \
/P"12345" /DumpIB /home/user/demo.dt
#  /IBcheckAndRepair -LogAndRefsIntegrity /Out"/home/user/log.txt"


$ chmod +x test.sh
$ time xvfb-run ~/test.sh

или

$ time xvfb-run /opt/1C/v8.3/x86_64/./1cv8 DESIGNER /S"u1804\demo" /N"ЛяшоваЛП" /P"12345"  /IBcheckAndRepair -LogAndRefsIntegrity /Out"/home/user/log.txt"


$ time xvfb-run /opt/1C/v8.3/x86_64/./1cv8 DESIGNER /S"u1804\demo" /N"ЛяшоваЛП" /P"12345"  /DumpIB /home/user/demo.dt /Out"/home/user/log.txt"

===================================================================
$ time sudo -u postgres pg_probackup-10 backup -B /backup --instance main -b FULL --stream --compress --delete-wal --expired -j4

$ sudo -u postgres pg_probackup-10 show -B /backup

PZVGGS

$ pg_lsclusters
$ sudo pg_dropcluster --stop 10 beta
$ sudo pg_createcluster --locale ru_RU.UTF-8 10 beta --  --data-checksums

Creating new cluster 10/beta ...
  config /etc/postgresql/10/beta
  data   /var/lib/postgresql/10/beta
  locale ru_RU.UTF-8
  socket /var/run/postgresql
  port   5433


Удалим данные кластера beta
$ sudo /bin/su postgres -c "rm -rf /var/lib/postgresql/10/beta/*"

Для восстановления базы demo5 добавляем восстановление базы postgres (для простоты подключения)


$ time sudo -u postgres pg_probackup-10 restore -B /backup --instance main -D /var/lib/postgresql/10/beta -i PZVGGS -j4


$ sudo pg_ctlcluster 10 beta start

$ sudo sudo systemctl status postgresql@10-beta.service

$ sudo systemctl stop srv1cv83.service
$ sudo rm -rf /home/usr1cv8/.1cv8
$ sudo systemctl start srv1cv83
$ sudo systemctl restart srv1cv8-ras.service


$ time xvfb-run /opt/1C/v8.3/x86_64/./1cv8 CREATEINFOBASE Srvr='"u1804";Ref="demo_beta";DBMS="PostgreSQL";DBSrvr="u1804 port=5433";DB="demo";DBUID="postgres";DBPwd="pass";CrSQLDB="Y";SchJobDn="Y";' /Out "/home/user/log.txt"

$ cat /home/user/log.txt >> /home/user/log.log
$ rm -rf /home/user/log.txt

$ time xvfb-run /opt/1C/v8.3/x86_64/./1cv8 DESIGNER /S"u1804\demo_beta" /N"ЛяшоваЛП" /P"12345"  /IBcheckAndRepair -LogAndRefsIntegrity /Out"/home/user/log.txt"

$ cat /home/user/log.txt >> /home/user/log.log


$ sudo nano /root/test1c_all.sh

#!/bin/sh -e
#/backup
#должна быть папка:
BACKUP_DIR=/backup
LOG0=$BACKUP_DIR/test.log
LOG1=$BACKUP_DIR/test1c.log
log=$BACKUP_DIR'/log/pg_probackup.log'

#должны быть права
#sudo chown -R postgres:postgres /backup
sudo su postgres -c "echo '--------------------------------------------------------------------' >> $LOG1"
#exit
#============================================
#if false; then
sudo pg_dropcluster --stop 10 beta
sudo pg_createcluster --locale ru_RU.UTF-8 10 beta --  --data-checksums
sudo /bin/su postgres -c "rm -rf /var/lib/postgresql/10/beta/*"
sudo -u postgres pg_probackup-10 restore -B /backup --instance main -D \
     /var/lib/postgresql/10/beta  --log-level-file=info -j4
grep completed $log > /dev/null 2>&1
if [ $? -ne 0 ]
then
    msg="кластер beta неудачное восстановление"
    FLAG=true
else
    msg="кластер beta удачное восстановление"
    FLAG=false
fi
DATA=`date +"%Y-%m-%d %H:%M:%S"`
echo $msg
sudo su postgres -c "echo '$DATA $msg' >> $LOG1"
sudo su postgres -c "echo '--------------------------------------------------------------------' >> $LOG1"
sudo su postgres -c "cat $log >> $LOG1"
sudo su postgres -c "echo '--------------------------------------------------------------------' >> $LOG1"

if $FLAG; then
    sudo su postgres -c "echo 'Завершение работы'>> $LOG1"
    sudo su postgres -c "echo '--------------------------------------------------------------------' >> $LOG1"
    echo "Завершение работы"
    exit 1
fi
sudo pg_ctlcluster 10 beta start
#fi

sudo systemctl stop srv1cv83.service
sudo rm -rf /home/usr1cv8/.1cv8
sudo systemctl start srv1cv83
sudo systemctl restart srv1cv8-ras.service

# делаем  backup
DB_BASE=`sudo 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="" #пропустить
#DB_BASE="" #пропустить
echo $DB_BASE
for DB_NAME in $DB_BASE
 do
     echo $DB_NAME
     DATA=`date +"%Y-%m-%d_%H-%M-%S"`
     DATA1=`date +"%Y-%m-%d %H:%M:%S"`
     # Записываем информацию в лог с секундами
     sudo su postgres -c "echo '$DATA1 Начало создания базы ${DB_NAME}' >> $LOG1"
     sudo su postgres -c "xvfb-run /opt/1C/v8.3/x86_64/./1cv8 CREATEINFOBASE Srvr=\"'u1804';Ref=$DB_NAME;\
     DBMS='PostgreSQL';DBSrvr='u1804 port=5433';DB=$DB_NAME;DBUID='postgres';DBPwd='pass';\
     CrSQLDB='Y';SchJobDn='Y';\" /Out "$LOG0" > /dev/null 2>&1"
     if [ $? -ne 0 ]
     then
         DATA1=`date +"%Y-%m-%d %H:%M:%S"`
         echo "$DATA1 Ошибка создания базы ${DB_NAME}"
         sudo su postgres -c "cat $LOG0 >> $LOG1"
         sudo su postgres -c "echo '$DATA1 Ошибка создания базы ${DB_NAME}' >>  $LOG1"
         TEST=false
     else
         DATA1=`date +"%Y-%m-%d %H:%M:%S"`
         echo "$DATA1 Завершение создания базы ${DB_NAME}"
         sudo su postgres -c "cat $LOG0 >> $LOG1"
         sudo su postgres -c "echo '$DATA1 Завершение создания базы ${DB_NAME}' >>  $LOG1"
         TEST=true
     fi
     sudo su postgres -c "echo '--------------------------------------------------------------------' >> $LOG1"
     #
     if $TEST; then
     # Записываем информацию в лог с секундами
     DATA1=`date +"%Y-%m-%d %H:%M:%S"`
     echo "$DATA1 Начало тестирования базы ${DB_NAME}"
     sudo su postgres -c "echo '$DATA1 Начало тестирования базы ${DB_NAME}' >>  $LOG1"

     sudo su postgres -c "xvfb-run /opt/1C/v8.3/x86_64/./1cv8 DESIGNER /S'u1804\'$DB_NAME /N'ЛяшоваЛП'\
         /P'12345'  /IBcheckAndRepair -LogAndRefsIntegrity /Out $LOG0 > /dev/null 2>&1"
     if [ $? -ne 0 ]
     then
         DATA1=`date +"%Y-%m-%d %H:%M:%S"`
         echo "$DATA1 Ошибка тестирования базы ${DB_NAME}"
         sudo su postgres -c "cat $LOG0 >> $LOG1"
         sudo su postgres -c "echo '$DATA1 Ошибка тестирования базы ${DB_NAME}' >>  $LOG1"
     else
         DATA1=`date +"%Y-%m-%d %H:%M:%S"`
         echo "$DATA1 Завершение тестирования базы ${DB_NAME}"
         sudo su postgres -c "cat $LOG0 >> $LOG1"
         sudo su postgres -c "echo '$DATA1 Завершение тестирования базы ${DB_NAME}' >>  $LOG1"
     fi
     sudo su postgres -c "echo '--------------------------------------------------------------------' >> $LOG1"
     fi
done

sudo systemctl stop srv1cv8-ras.service
sudo systemctl stop srv1cv83
sudo pg_ctlcluster 10 beta stop
#============================================

Комментариев нет:

Отправить комментарий