Показаны сообщения с ярлыком скрипт. Показать все сообщения
Показаны сообщения с ярлыком скрипт. Показать все сообщения

воскресенье, 2 июня 2019 г.

Скрипт подсчета количества сессий

$ sudo nano  /root/session.sh

#!/bin/sh
current_date=`date +%Y-%m-%d`
current_time=`date +%H:%M`
if ! pgrep 'ras'; then /opt/1C/v8.3/x86_64/ras --daemon cluster; fi
_cluster=$(/opt/1C/v8.3/x86_64/rac cluster list  | grep 'cluster'| awk -F' ' '{print $3}')
_base=$(/opt/1C/v8.3/x86_64/rac infobase --cluster=$_cluster summary list | grep 'infobase '| awk '{print$3}')
_session=$(/opt/1C/v8.3/x86_64/rac session --cluster=$_cluster list | grep 'session '| awk '{print$3}')
#echo 'кластер: ' $_cluster >> sysinfo.txt
#echo 'базы: ' $_base >> sysinfo.txt
#echo 'сессии:  ' $_session >> sysinfo.txt
# сессии:   2cf54bf0-8365-11e9-9886-309c23451546 bbb8ca0e-8367-11e9-9886-309c23451546 c50f2426-838b-11e9-9886-309c23451546 e2f6042a-8361-11e9-9886-309c23451546
ses=0
for count in $_session
do
  ses=$(($ses+1))
done
echo  $current_time $ses  >> /root/ses_$current_date.log

Сохранить.

Однократный запуск:
$ sudo sh /root/session.sh

Запись значения в файл каждую минуту

$ sudo crontab -e
Добавить в конец:
# каждую  1 минуту


*/1 * * * *  sudo sh /root/session.sh

Смотреть задания:
 $ sudo crontab -l

Смотреть результат для текущей даты:

$ sudo cat /root/ses_2019-03-09.log

пятница, 8 марта 2019 г.

Load Average

Linux - начинающим. Что такое Load Average и какую информацию он несет
Load Average в Linux: разгадка тайны
Load Average
Что такое CPU Load Average в Linux и когда стоит волноваться? 


$ sudo nano /root/loadavg.sh

Вставить текст ниже

#!/bin/sh
#current_date_time=`date +%Y-%m-%d' '%H:%M:%S`
current_date=`date +%Y-%m-%d`
current_time=`date +%H:%M`
# cat /proc/loadavg
#0.44 0.16 0.06 1/233 2407
loadavg=`cat /proc/loadavg| awk '{print $1 " " $2 " "$3}'`
#echo  $current_time $loadavg
echo  $current_time $loadavg >> /root/la_$current_date.log


Сохранить.

Однократный запуск:
$ sudo sh /root/loadavg.sh

Запись значения в файл каждую минуту

$ sudo crontab -e
Добавить в конец:
# каждую  1 минуту


*/1 * * * * sudo sh /root/loadavg.sh

Смотреть задания:
 $ sudo crontab -l

Смотреть результат для текущей даты:

$ sudo cat /root/la_2019-03-09.log
10:23 0.01 0.13 0.14
10:24 0.24 0.15 0.14
10:25 0.17 0.14 0.14
10:26 0.72 0.30 0.20
10:27 1.00 0.45 0.25
10:28 0.95 0.56 0.31
10:29 1.21 0.69 0.37
10:30 0.89 0.69 0.39
10:31 1.45 0.87 0.47
10:32 1.80 1.08 0.57
10:33 1.93 1.25 0.66

$ sudo nano mailavg.sh

#!/bin/sh
current_date=`date +%Y-%m-%d`
echo "test" | mutt -s "loadavg $current_date"  f1@vt.com -a /root/la_$current_date.log


Однократный запуск:
$ sudo sh /root/mailavg.sh

Отправка файла в конце конце дня

$ sudo crontab -e
Добавить в конец:


59 23 * * * sudo sh /root/mailavg.sh 

Смотреть задания:
 $ sudo crontab -l

среда, 19 декабря 2018 г.

Скрипт завершения работы пользователей

/etc/systemd/system/ras.service 1C for Linux
Платформа 8.3 → Не могу запустить сервер RAS

sudo -u usr1cv8 /opt/1C/v8.3/x86_64/ras --daemon cluster


Внимание скрипт, на один кластер 1С !!!
$ nano terminate.sh

Вставить текст ниже:


#!/bin/bash
if ! pgrep 'ras'; then sudo su usr1cv8 -c "/opt/1C/v8.3/x86_64/ras --daemon cluster"; fi
sleep 5
_cluster=$(/opt/1C/v8.3/x86_64/rac cluster list  | grep 'cluster'| awk -F' ' '{print $3}')
_base=$(/opt/1C/v8.3/x86_64/rac infobase --cluster=$_cluster summary list | grep 'infobase '| awk '{print$3}')
_session=$(/opt/1C/v8.3/x86_64/rac session --cluster=$_cluster list | grep 'session '| awk '{print$3}')
echo 'кластер: ' $_cluster
echo 'базы: ' $_base
echo 'сессии:  ' $_session
for session in $_session
do
/opt/1C/v8.3/x86_64/rac session --cluster=$_cluster terminate --session=$session
done
_session=$(/opt/1C/v8.3/x86_64/rac session --cluster=$_cluster list | grep 'session '| awk '{print$3}')
echo 'сессии:  ' $_session

Сохранить.

$ sh terminate.sh

$ sudo nano /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sh /home/user/terminate.sh

exit 0

Для windows :
 
Сервер администрирования кластера серверов 1C:Предприятия и deployka

Вариант с установленной службой Сервера администрирования кластера

Файл register-ras.bat:

@echo off
rem %1 - полный номер версии 1С:Предприятия
set ver=8.3.13.1690
set SrvUserName=.\USR1CV8
set SrvUserPwd="pass"
set CtrlPort=1540
set AgentName=localhost
set RASPort=1545
set SrvcName="1C:Enterprise 8.3 Remote Server"
set BinPath="\"C:\Program Files\1cv8\%ver%\bin\ras.exe\" cluster --service --port=%RASPort% %AgentName%:%CtrlPort%"
set Desctiption="1C:Enterprise 8.3 Remote Server"
sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption%

sc start %SrvcName%

Сохранить.


Внимание скрипт, на все кластеры 1С !!!
Файл terminate.bat:


@echo off
SET ver=8.3.13.1690
"c:\Program Files\1cv8\%ver%\bin\rac.exe" cluster list > %temp%\tmp.txt
REM type %temp%\tmp.txt
findstr "cluster" %temp%\tmp.txt > %temp%\tmp1.txt
REM type %temp%\tmp1.txt
FOR /F "tokens=2,* delims=: " %%i IN (%temp%\tmp1.txt) DO (
      REM echo %%i
      "c:\Program Files\1cv8\%ver%\bin\rac" session --cluster=%%i list > %temp%\tmp2.txt
      REM type %temp%\tmp2.txt
      findstr /C:"session " %temp%\tmp2.txt > %temp%\tmp3.txt
      FOR /F "tokens=2,* delims=: " %%j IN (%temp%\tmp3.txt) DO (
            REM echo %%j
            rac session --cluster=%%i terminate --session=%%j)
            )
REM PAUSE


Сохранить. 



суббота, 8 декабря 2018 г.

Скрипт вывода информации о процессах

Linux: find out what process is using all the RAM?

$ nano show-memory-usage.sh

Копировать:

#!/bin/sh
clear
ps -eo rss,pid,user,command | sort -rn | head -20 | awk '{ hr[1024**2]="GB"; hr[1024]="MB";\
 for (x=1024**3; x>=1024; x/=1024) {\
 if ($1>=x) { printf ("%-6.2f %s ", $1/x, hr[x]); break }\
 } } { printf ("%-6s %-10s ", $2, $3) }\
 { for ( x=4 ; x<=NF ; x++ ) { printf ("%s ",$x) } print ("\n") }\
 '
Сохранить.

$ sh show-memory-usage.sh



Примерно такой вывод:

406.11 MB 2465   usr1cv8    /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost kamin -regport 1541 -pid ab8bdcae-f963-11e8-ef84-ac1f6b94ef4a

342.20 MB 1224   postgres   /usr/lib/postgresql/9.6/bin/postgres -D /var/lib/postgresql/9.6/main -c config_file=/etc/postgresql/9.6/main/postgresql.conf

258.63 MB 3902   postgres   postgres: postgres demo 192.168.0.174(54952) idle

104.21 MB 1242   postgres   postgres: checkpointer process

101.45 MB 1243   postgres   postgres: writer process

97.18  MB 2305   usr1cv8    /opt/1C/v8.3/x86_64/rmngr -port 1541 -host kamin -range 1560:1591 -clstid ab3b172e-f963-11e8-ef84-ac1f6b94ef4a

31.81  MB 2297   usr1cv8    /opt/1C/v8.3/x86_64/ragent -daemon

28.42  MB 1391   root       /usr/lib/snapd/snapd

21.91  MB 475    root       /lib/systemd/systemd-journald

20.75  MB 1244   postgres   postgres: wal writer process

15.61  MB 2221   root       /usr/sbin/smbd -D

6.66   MB 2904   root       sshd: user [priv]

6.57   MB 1245   postgres   postgres: autovacuum launcher process

6.49   MB 2889   root       sshd: user [priv]

6.29   MB 1247   root       /usr/lib/accountsservice/accounts-daemon

6.16   MB 2226   root       /usr/sbin/smbd -D

6.09   MB 1      root       /sbin/init

5.89   MB 1492   root       /usr/lib/policykit-1/polkitd --no-debug

5.64   MB 1708   root       /usr/sbin/sshd -D

5.61   MB 2223   root       /usr/sbin/smbd -D