Пока продумывал скрипт для гейтования rss подумал о том, как должны текстовые файлы в сообщения на ноде. Нашёл тоссер.
Представим ситуацию, что у ноды есть несколько поинтов, которые не могут пользоваться клиентами (например, автоматические скрипты, которые генерируют файлы для сообщений). Писать для каждого свой скрипт тоссинга и отправки сообщений не хочется, так что я вот чего придумал:
* в директории client-toss создаётся поддиректория msgs, в которой находятся поддиректории с именами поинтов из points.txt
* файлы от поинтов складываются в эту иерархию
* запускается скрипт autotosspost.sh, который проходит эту иерархию, тоссит и отправляет сообщения.
После сообщения могут автоматически удаляться или складироваться в директорию histo, находящуюся в директории поинта (в данном случае слежение за неповторяющимися именами на совести поинта и сисопа). Если директоии histo нет, то скрипт её создаст автоматически.
Погонял скрипт на тестовой ноде -- работает замечательно.
+''+,,+''+ Файл: autotosspost.sh +''+,,+''+
#!/bin/bash
HISTORY=1 # Если установлено в 0, сообщения удаляются. Иначе переносятся в директорию histo
IIURL=
http://127.0.0.1:62220/u/point
POINTS='../../points.txt' # Путь к списку поинтов относительно данного скрипта
MKTOSS='../../mktoss.py' # Путь к тоссеру относительно директории поинта
PWD=$(pwd)
for DIR in $(find ./msgs/ -type d); do
POINT=$(echo $DIR | sed 's/.\/msgs\///')
if [[ $POINT != '' ]]; then
PAUTH=$(cat $POINTS | grep $POINT | sed 's/:.*//')
echo $PAUTH
cd $DIR
for MSG in $(find ./ -maxdepth 1 -type f -name "*.txt"); do
python $MKTOSS $MSG
wget $IIURL -O - --post-data "pauth=$PAUTH&tmsg=$(cat $MSG.toss)"
if [[ $HISTORY == 0 ]]; then
rm $MSG
else
if ! [ -d ./histo ]; then
mkdir ./histo
fi
mv $MSG ./histo
fi
rm $MSG.toss
done
fi
cd $PWD
done
+''+,,+''+,,+''+,,+''+,,+''+,,+''+,,+''+,,+''+,,+''+