Скрипты с пылу с жару, написанные на коленке

Started by kenny on 2012-05-12 09:19 — 2 replies, 2572 views

#1
Решил начать темку 🙂
Вот мои 5 копеек
#!/bin/bash
MAX_LOAD=20.0
ADMIN="admins@example.com"
LOAD=`awk '{print $2}' /proc/loadavg`
if [ $LOAD \> $MAX_LOAD ]; then
cat <<EOF >/tmp/hl.html
To: $ADMIN
Subject: High load alert
Content-Type: text/html; charset="koi8-r"
<html>
<body>
<h1>Host:Allert!  $(hostname) , date $(date)</h1>
<h2>High load  $(hostname)</h2>
<p><font size="2" color="black" face="Arial"> Винмание возрасла нагрузка на $(hostname)</font>
<p><font size="2" color="black" face="Arial"> Загрузка системы составляет $LOAD</font></p>
<p><font size="7" color="red" face="Arial"> Срочно принять меры</font></p>
</body>
</html>
EOF
sendmail $ADMIN < /tmp/hl.html
else
echo "all goooooooooood"
fi
Собственно скрипт снимает статистику за 5 минут по нагрузки сервера, если нагрузка больше 20.0, то отсылает на указанную почту письмо.
Переменные
MAX_LOAD - задаем максимальную нагрузку на хост
ADMIN - почта админа/админов.
Пользуйтесь
#2
Заливаем дамп всех sql файлов из директории
Spoiler content hidden.
Скрипт меняется под нужды как угодно. Допустим нужно разархивировать кучу архивов.
Spoiler content hidden.
Все предельно просто 🙂
#3
Легкий генератор паролей на моем любимом питошки)))
import string
from random import choice
 
size = 9
print ''.join([choice(string.letters + string.digits) for i in range(size)])
где size длина
Можно довести до такого состояния генерацию пароля {ht[ESLq2
Просто нужно изменить строчку на следующую
print ''.join([choice(string.printable) for i in range(size)])
Подробнее по модулю string можно прочитать в документации