пятница, 22 ноября 2024 г.

Определение серийных номеров usb flash

 $ lsblk --output KNAME,SERIAL /dev/sdb

KNAME SERIAL
sdb   4CEDFB6D543AF360199308B2
пример, найденный в нете. Работает.
Скрипт (работает)
#!/bin/bash
for C in `ls /sys/block/`; do
    RE=`cat /sys/block/$C/removable`
        if [ $RE == "1" ] ;then
            #VENDOR=`/bin/udevadm info --name=/dev/$C | grep ID_VENDOR=|awk -F"=" ' { print $2}'`
            #MODEL=`/bin/udevadm info --name=/dev/$C | grep ID_MODEL=|awk -F"=" ' { print $2}'`
            #SERIAL=`/bin/udevadm info --name=/dev/$C | grep SERIAL_SHORT|awk -F"=" ' { print $2}'`
            #echo $VENDOR-$MODEL"-"$SERIAL #print as per your taste
            USB_SERIAL=`/bin/udevadm info --name=/dev/$C | grep ID_SERIAL=|awk -F"=" ' { print $2}'|awk -F"-" ' { print $1}'`
            echo  $USB_SERIAL #or just the default one
        fi
done

Такой утилиты нет, не проверено.
# smartctl /dev/sda -i | grep Serial
Serial Number:    S1D3LYBG290266

пятница, 15 ноября 2024 г.

Контроль сервисов через скрипт crontab

На примере сервисов RapidScada (приложения dotnet)


Контроль Коммуникатора

#!/bin/bash

STATUS="$(systemctl is-failed scadacomm6.service)"

if [ "${STATUS}" = "failed" ]; then

    systemctl restart scadacomm6.service

else

    exit 1

fi


Контроль  WEB

#!/bin/bash

STATUS="$(systemctl is-failed scadaweb6.service)"

if [ "${STATUS}" = "failed" ]; then

    systemctl restart scadaweb6.service

else

    exit 1

fi


Файлы например scadacomm6Ctl.sh и scadaweb6Ctl.sh - дать права на исполнение
далее crontab -e - добавляем запись

* * * * * root /opt/scada/scadaweb6Ctl.sh
И перезагрузка cron -  service cron reload