$ dpkg -l | grep 8.3
... 8.3.15-1565 ...
$ tar xvzf client_8_3_15_1565.deb64.tar.gz
$ sudo dpkg -i 1c-enterprise83-client_8.3.15-1565_amd64.deb
$ sudo apt install -f
$ sudo apt-get install xvfb dbus-x11
$ time sudo -u postgres pg_probackup-10 backup -B /backup --instance main -b FULL --stream --compress --delete-wal --expired -j4
$ sudo -u postgres cp /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf.bak
$ sudo pg_ctlcluster 10 main stop
$ sudo chown -R postgres:postgres /backup
$ sudo nano /root/restore_main.sh
#!/bin/sh -e
#/backup
#должна быть папка:
pgpass="'1q2w3e4r5'"
PGVER=10
SERVER1C=u1804:1541
SERVERDB="'u1804 port=5432'"
DBPASS=1q2w3e4r5
ADMIN1C=admin
PWADMIN1C=admin
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 $PGVER main
sudo pg_createcluster --locale ru_RU.UTF-8 $PGVER main -- --data-checksums
sudo /bin/su postgres -c "rm -rf /var/lib/postgresql/$PGVER/main/*"
sudo -u postgres pg_probackup-$PGVER restore -B /backup --instance main -D \
/var/lib/postgresql/$PGVER/main --log-level-file=info -j4
grep completed $log > /dev/null 2>&1
if [ $? -ne 0 ]
then
msg="кластер main неудачное восстановление"
FLAG=true
else
msg="кластер main удачное восстановление"
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 -u postgres cp /etc/postgresql/$PGVER/main/postgresql.conf.bak /etc/postgresql/$PGVER/main/postgresql.conf
sudo pg_ctlcluster $PGVER main start
sudo -u postgres psql -U postgres -c "alter user postgres with password $pgpass;"
sudo -u postgres psql -p 5432 -c "\l"
#fi
#if false; then
sudo systemctl stop srv1cv83.service
sudo rm -rf /home/usr1cv8/.1cv8
sudo systemctl start srv1cv83.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=\"$SERVER1C;Ref=$DB_NAME;\
DBMS='PostgreSQL';DBSrvr=$SERVERDB;DB=$DB_NAME;DBUID='postgres';DBPwd=$DBPASS;\
CrSQLDB='Y';SchJobDn='N';\" /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"
#Запретить тестирование и исправление TEST=false
TEST=false
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$SERVER1C'\'$DB_NAME /N$ADMIN1C\
/P$PWADMIN1C /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 srv1cv83.service
#sudo pg_ctlcluster $PGVER main stop
#fi
#============================================
Сохранить.
$ sudo sh /root/restore_main.sh
Проверка в кластере beta
$ sudo nano /etc/systemd/system/srv1cv83-test.service
# srv1cv83-test.service
#
[Unit]
Description=1C:Enterprise Server
Wants=network.target
After=network.target
[Service]
#MemoryAccounting=true
#MemoryLimit=15G
Type=simple
Environment=LANG=ru_RU.UTF-8
Environment=TZ=Europe/Moscow
Environment=PORT=2540
Environment=REGPORT=2541
Environment=RANGE=2560:2690
Environment=DATADIR=/home/usr1cv8/.test/1C/1Cv83
PrivateTmp=yes
ExecStart= /opt/1C/v8.3/x86_64/ragent -d /home/usr1cv8/.test/1C/1Cv83 -port 2540 -regport 2541 -range 2560:2690
# -seclev 0 -debug
Restart=always
RestartSec=3
User=usr1cv8
Group=grp1cv8
[Install]
WantedBy=multi-user.target
Сохранить.
$ sudo systemctl daemon-reload # запускать после изменений файла
$ sudo systemctl start srv1cv83-test.service
$ sudo systemctl status srv1cv83-test.service
#$ sudo systemctl enable srv1cv83-test.service
Скрипт поднимет последнюю полную копию в кластере pg beta (5433)
Подключит 1с базы, запусти тестирование и исправление каждой базы.
$ sudo nano /root/test1c_all.sh
#!/bin/sh -e
#/backup
#должна быть папка:
pgpass="'1q2w3e4r5'"
PGVER=10
SERVER1C=u1804:2541
SERVERDB="'u1804 port=5433'"
DBPASS=1q2w3e4r5
ADMIN1C=admin
PWADMIN1C=admin
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 $PGVER beta
sudo pg_createcluster --locale ru_RU.UTF-8 $PGVER beta -- --data-checksums
sudo /bin/su postgres -c "rm -rf /var/lib/postgresql/$PGVER/beta/*"
sudo -u postgres pg_probackup-$PGVER restore -B /backup --instance main -D \
/var/lib/postgresql/$PGVER/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 -u postgres cp /etc/postgresql/$PGVER/beta/postgresql.conf.bak /etc/postgresql/$PGVER/beta/postgresql.conf
sudo pg_ctlcluster $PGVER beta start
#sudo -u postgres psql -U postgres -c "alter user postgres with password $pgpass;"
sudo -u postgres psql -p 5433 -c "\l"
#fi
#if false; then
sudo systemctl stop srv1cv83-test.service
sudo rm -rf /home/usr1cv8/.test
sudo systemctl start srv1cv83-test.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=\"$SERVER1C;Ref=$DB_NAME;\
DBMS='PostgreSQL';DBSrvr=$SERVERDB;DB=$DB_NAME;DBUID='postgres';DBPwd=$DBPASS;\
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"
#Запретить тестирование и исправление TEST=false
#TEST=false
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$SERVER1C'\'$DB_NAME /N$ADMIN1C\
/P$PWADMIN1C /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 srv1cv83-test.service
sudo pg_ctlcluster $PGVER beta stop
#fi
#============================================
Сохранить.
$ time sudo sh /root/test1c_all.sh
... 8.3.15-1565 ...
$ tar xvzf client_8_3_15_1565.deb64.tar.gz
$ sudo dpkg -i 1c-enterprise83-client_8.3.15-1565_amd64.deb
$ sudo apt install -f
$ sudo apt-get install xvfb dbus-x11
$ time sudo -u postgres pg_probackup-10 backup -B /backup --instance main -b FULL --stream --compress --delete-wal --expired -j4
$ sudo -u postgres cp /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf.bak
$ sudo pg_ctlcluster 10 main stop
$ sudo chown -R postgres:postgres /backup
$ sudo nano /root/restore_main.sh
#!/bin/sh -e
#/backup
#должна быть папка:
pgpass="'1q2w3e4r5'"
PGVER=10
SERVER1C=u1804:1541
SERVERDB="'u1804 port=5432'"
DBPASS=1q2w3e4r5
ADMIN1C=admin
PWADMIN1C=admin
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 $PGVER main
sudo pg_createcluster --locale ru_RU.UTF-8 $PGVER main -- --data-checksums
sudo /bin/su postgres -c "rm -rf /var/lib/postgresql/$PGVER/main/*"
sudo -u postgres pg_probackup-$PGVER restore -B /backup --instance main -D \
/var/lib/postgresql/$PGVER/main --log-level-file=info -j4
grep completed $log > /dev/null 2>&1
if [ $? -ne 0 ]
then
msg="кластер main неудачное восстановление"
FLAG=true
else
msg="кластер main удачное восстановление"
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 -u postgres cp /etc/postgresql/$PGVER/main/postgresql.conf.bak /etc/postgresql/$PGVER/main/postgresql.conf
sudo pg_ctlcluster $PGVER main start
sudo -u postgres psql -U postgres -c "alter user postgres with password $pgpass;"
sudo -u postgres psql -p 5432 -c "\l"
#fi
#if false; then
sudo systemctl stop srv1cv83.service
sudo rm -rf /home/usr1cv8/.1cv8
sudo systemctl start srv1cv83.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=\"$SERVER1C;Ref=$DB_NAME;\
DBMS='PostgreSQL';DBSrvr=$SERVERDB;DB=$DB_NAME;DBUID='postgres';DBPwd=$DBPASS;\
CrSQLDB='Y';SchJobDn='N';\" /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"
#Запретить тестирование и исправление TEST=false
TEST=false
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$SERVER1C'\'$DB_NAME /N$ADMIN1C\
/P$PWADMIN1C /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 srv1cv83.service
#sudo pg_ctlcluster $PGVER main stop
#fi
#============================================
Сохранить.
$ sudo sh /root/restore_main.sh
Проверка в кластере beta
$ sudo nano /etc/systemd/system/srv1cv83-test.service
# srv1cv83-test.service
#
[Unit]
Description=1C:Enterprise Server
Wants=network.target
After=network.target
[Service]
#MemoryAccounting=true
#MemoryLimit=15G
Type=simple
Environment=LANG=ru_RU.UTF-8
Environment=TZ=Europe/Moscow
Environment=PORT=2540
Environment=REGPORT=2541
Environment=RANGE=2560:2690
Environment=DATADIR=/home/usr1cv8/.test/1C/1Cv83
PrivateTmp=yes
ExecStart= /opt/1C/v8.3/x86_64/ragent -d /home/usr1cv8/.test/1C/1Cv83 -port 2540 -regport 2541 -range 2560:2690
# -seclev 0 -debug
Restart=always
RestartSec=3
User=usr1cv8
Group=grp1cv8
[Install]
WantedBy=multi-user.target
Сохранить.
$ sudo systemctl daemon-reload # запускать после изменений файла
$ sudo systemctl start srv1cv83-test.service
$ sudo systemctl status srv1cv83-test.service
#$ sudo systemctl enable srv1cv83-test.service
Скрипт поднимет последнюю полную копию в кластере pg beta (5433)
Подключит 1с базы, запусти тестирование и исправление каждой базы.
$ sudo nano /root/test1c_all.sh
#!/bin/sh -e
#/backup
#должна быть папка:
pgpass="'1q2w3e4r5'"
PGVER=10
SERVER1C=u1804:2541
SERVERDB="'u1804 port=5433'"
DBPASS=1q2w3e4r5
ADMIN1C=admin
PWADMIN1C=admin
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 $PGVER beta
sudo pg_createcluster --locale ru_RU.UTF-8 $PGVER beta -- --data-checksums
sudo /bin/su postgres -c "rm -rf /var/lib/postgresql/$PGVER/beta/*"
sudo -u postgres pg_probackup-$PGVER restore -B /backup --instance main -D \
/var/lib/postgresql/$PGVER/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 -u postgres cp /etc/postgresql/$PGVER/beta/postgresql.conf.bak /etc/postgresql/$PGVER/beta/postgresql.conf
sudo pg_ctlcluster $PGVER beta start
#sudo -u postgres psql -U postgres -c "alter user postgres with password $pgpass;"
sudo -u postgres psql -p 5433 -c "\l"
#fi
#if false; then
sudo systemctl stop srv1cv83-test.service
sudo rm -rf /home/usr1cv8/.test
sudo systemctl start srv1cv83-test.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=\"$SERVER1C;Ref=$DB_NAME;\
DBMS='PostgreSQL';DBSrvr=$SERVERDB;DB=$DB_NAME;DBUID='postgres';DBPwd=$DBPASS;\
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"
#Запретить тестирование и исправление TEST=false
#TEST=false
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$SERVER1C'\'$DB_NAME /N$ADMIN1C\
/P$PWADMIN1C /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 srv1cv83-test.service
sudo pg_ctlcluster $PGVER beta stop
#fi
#============================================
Сохранить.
$ time sudo sh /root/test1c_all.sh
Комментариев нет:
Отправить комментарий