С помощью bash скрипта на Debian можно собрать показания пробега принтеров и послать их по email, например в CRM
-
Скрипт в /data/sh/snmp
Ставим:
apt-get install sendemail apt-get install libio-socket-ssl-perl libnet-ssleay-perl
Создаем скрипт:
sendemail.sh
#!/bin/bash # Будет отображаться "От кого" FROM=от@кого.ру # Кому MAILTO=$3 # Тема письма NAME=$1 # Тело письма BODY=$2 # В моем примере я отправляю письма через существующий почтовый ящик на gmail.com # Скрипт легко адаптируется для любых почтовых серверов SMTPSERVER=smtp.mail.ru # Логин и пароль от учетной записи SMTPLOGIN=от@кого.ру SMTPPASS=пароль # Отправляем письмо /usr/bin/sendEmail -f $FROM -t $MAILTO -o message-charset=utf-8 -u $NAME -m $BODY -s $SMTPSERVER -o tls=yes -xu $SMTPLOGIN -xp $SMTPPASS
Делаем исполняемым
chmod +x sendemail.sh
Проверяем
./sendemail.sh Тест Проверка! куда@посылаем.ру
crontab -e
15 9 1,15 * * bash /data/sh/snmp/while.sh
while.sh
#!/bin/sh host[0]='R2851' IP[0]="10.48.4.10" name[0]='Ricoh Aficio MP 2851 Продажи Мск' email[0]='куда@посылаем.ру' snmp[0]='.1.3.6.1.4.1.367.3.2.1.2.19.1.0' trim[0]=44 host[1]='XRX0000AAF18D03' IP[1]="10.48.4.23" name[1]='Xerox Phaser 3435DN ОИТ Мск' email[1]='куда@посылаем.ру' snmp[1]='.1.3.6.1.4.1.253.8.53.13.2.1.6.1.20.1' trim[1]=50 host[2]='XRX9C934E06777C' IP[2]="10.48.4.22" name[2]='Xerox Phaser 3250DN Мск Секретарь' email[2]='куда@посылаем.ру' snmp[2]='.1.3.6.1.4.1.253.8.53.13.2.1.6.1.20.1' trim[2]=50 for i in {0..2} do str=$(snmpwalk -c public -v2c ${IP[$i]} ${snmp[$i]}) str=${str:${trim[$i]}} ./sendemail.sh "${name[$i]}" "Пробег: $str\n${name[$i]}\n${IP[$i]}\n${host[$i]}" "${email[$i]}" done
Добавить комментарий