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
#============================================
Работа с конфигуратором по протоколу 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
#============================================
Комментариев нет:
Отправить комментарий