<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DSH DSH &#187; bash</title>
	<atom:link href="http://dshdsh.ru/tag/bash/feed" rel="self" type="application/rss+xml" />
	<link>http://dshdsh.ru</link>
	<description>&#1069;&#1090;&#1086; &#1085;&#1072;&#1076;&#1086; &#1074;&#1080;&#1076;&#1077;&#1090;&#1100;!</description>
	<lastBuildDate>Mon, 12 Oct 2009 05:49:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Отправляем логи по почте через SSMTP и BASH скрип</title>
		<link>http://dshdsh.ru/24-02-ssmtp</link>
		<comments>http://dshdsh.ru/24-02-ssmtp#comments</comments>
		<pubDate>Tue, 24 Feb 2009 01:05:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/pinnokio/public_html/dshdsh.ru/wp-content/plugins/autometa/autometa.php</b> on line <b>364</b><br />
		<category><![CDATA[linux]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[bash]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://itbg.wordpress.com/wordpress/?p=40</guid>
		<description><![CDATA[Всем привет!
После сбора логов ICQ переписки я озадачился их доставкой руководству.
Поскольку о слежении должно знать как можно меньше человек было решено отсылать логи на почту начальству с сервера.
В качестве SMTP сервера я воспользовался моим любимым SSMTP.
Скачать его можно здесь
Установка проста:
Пользователи Gentoo делают:
emerge ssmtp
На же моё сервере стоит SuSe 10.2 и всё приходится ставить из сорцов.
Приступим:]]></description>
			<content:encoded><![CDATA[<sape_index><p>После сбора логов ICQ переписки я озадачился их доставкой руководству.<br />
Поскольку о слежении должно знать как можно меньше человек было решено отсылать логи на почту начальству с сервера.<br />
В качестве SMTP сервера я воспользовался моим любимым SSMTP.<br />
<span id="more-43"></span><br />
Установка проста:<br />
Пользователи Gentoo делают:<br />
emerge ssmtp<br />
На же моё сервере стоит SuSe 10.2 и всё приходится ставить из сорцов.<br />
Приступим:</p>
<p>cd /tmp<br />
wget ftp://ftp.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.62.orig.tar.gz<br />
tar xvzf ssmtp_2.62.orig.tar.gz<br />
cd ssmtp<br />
./configure &#8211;prefix=/usr/ssmtp &#8211;enable-ssl &#8211;enable-md5auth<br />
make<br />
make install<br />
Всё проставилось в /usr/ssmtp, делаем симлинки при необходимости.<br />
Настраиваем:<br />
Пример для Gmail<br />
Правим /usr/ssmtp/etc/ssmtp/ssmtp.conf<br />
root=youraccount@gmail.com # Это e-mail пользователя root, на него будет приходить почта из программ mail и mailx<br />
mailhub=smtp.gmail.com:587<br />
rewriteDomain=<br />
hostname=youraccount@gmail.com<br />
UseSTARTTLS=YES<br />
AuthUser=youraccount<br />
AuthPass=yourpasword<br />
FromLineOverride=YES<br />
/usr/ssmtp/etc/ssmtp/revaliases<br />
root:youraccount@gmail.com:smtp.gmail.com:587 # youraccount@gmail.com &#8211; Этот адрес будет писаться в качестве отправителя.<br />
mainuser:youraccount@gmail.com:smtp.gmail.com:587<br />
И пробуем отправить тестовое сообщение:<br />
echo “Hello World”  &gt; /tmp/test.txt<br />
ssmtp -v your@mail.com &lt; /tmp/test.txt<br />
Кстати, у меня на сервере почему-то с почтой gmail отправка не заработала.<br />
Хотя дома всё ОК, поэтому я решил воспользоваться почтой от rambler.ru<br />
Подойдёт в принципе любая почта, хотя с mail.ru были проблемы.<br />
Так, сообщения уходят, значит можно переходить ко второй части: Отправка самих логов.<br />
Логи я решил отправлять в архиве, с помощью Bash скрипта и cron’a<br />
Первое что потребовалось &#8211; определить MIME тип архива, для этого есть Bash скрипт<br />
Для архива он оказался: application/octet-stream<br />
Затем я написал следующий Bash скрипт:<br />
#!/bin/sh<br />
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin<br />
ADMIN=”Ваша@почта.ru“<br />
CODE=”$1″<br />
SENDER=”$2″<br />
shift 2<br />
FILE=ICQ-BackUP-`date +%d.%m.%Y`.tar.bz2 # Имя файла бэкапа<br />
LOG=”/var/log/imspector/arc/$FILE”  # Файл, который будем пересылать<br />
TMP=/tmp # Директория для временных файлов<br />
find /var/log/imspector -type f -mtime +30 -delete # Удаляем файлы, старше 30 дней<br />
tar cjfP /var/log/imspector/arc/$FILE /var/log/imspector/ICQ-AIM  #Архивируем<br />
TMPMAIL=$TMP/new_mail.$$<br />
trap “rm -f $TMPMAIL; exit” 0 1 2 15<br />
BOUNDARY=”newlog-`date +%s`-$$”<br />
# Create mail header:<br />
echo “To: $ADMIN” &gt; $TMPMAIL<br />
echo “Subject: Log from SERVER ” &gt;&gt; $TMPMAIL<br />
echo “Mime-Version: 1.0″ &gt;&gt; $TMPMAIL<br />
echo “Content-Type: multipart/mixed; boundary=$BOUNDARY” &gt;&gt; $TMPMAIL<br />
# Create first part of the mail<br />
echo &#8220;&#8211;$BOUNDARY&#8221; &gt;&gt; $TMPMAIL<br />
echo “Content-Type: text/plain; charset=utf-8″ &gt;&gt; $TMPMAIL #кодировка письма<br />
echo “” &gt;&gt; $TMPMAIL<br />
echo “ICQ message log” &gt;&gt; $TMPMAIL<br />
echo “`date`.” &gt;&gt; $TMPMAIL<br />
echo “” &gt;&gt; $TMPMAIL<br />
echo &#8220;&#8211;$BOUNDARY&#8221; &gt;&gt; $TMPMAIL<br />
echo “Content-Type: application/octet-stream” &gt;&gt; $TMPMAIL # тип содержимого<br />
echo “Content-Transfer-Encoding: base64″ &gt;&gt; $TMPMAIL<br />
echo “Content-Disposition: attachment; filename=”$FILE”&#8221; &gt;&gt; $TMPMAIL<br />
echo “” &gt;&gt; $TMPMAIL<br />
cat $LOG | base64  &gt;&gt; $TMPMAIL<br />
echo “” &gt;&gt; $TMPMAIL<br />
echo &#8220;&#8211;$BOUNDARY&#8211;&#8221; &gt;&gt; $TMPMAIL<br />
# Send out the created mail:<br />
#sendmail -i -f $SENDER &#8212; $ADMIN &#8212; &lt; $TMPMAIL # FOR SENDMAIL<br />
ssmtp почта@доставки.ru &lt; $TMPMAIL # FOR SSMTP, почта получателя<br />
rm -rf /var/log/imspector/ICQ-AIM/*<br />
exit 0<br />
Это для ознакомления (wordpress частенько код искажает), если будете использовать воспользуйтесь ссылками ниже:<br />
То-же самое выложил сюда<br />
И с подсветкой синтаксиса сюда . Тут-же Вы его можете скачать.<br />
И засунул его в cron на выполнение.<br />
Кстати, скрипт можно использовать и для отправки любых файлов в качестве аттачей.<br />
Всё, задача выполнена.</p>
</sape_index><!--c249110617320--><div></div>]]></content:encoded>
			<wfw:commentRss>http://dshdsh.ru/24-02-ssmtp/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

