LinuxForum.Fans
Тема

Transmission 2.03 и запуск скриптов

Автор: s0n1q 7 сообщений 3610 просмотров
#77027

Всем доброго дня.
В transmission появилась функция, которая позволяет выполнять произвольный скрипт по завершению закачки.
Идея состоит в том, что я хочу отправлять сообщения о закаченных файлах в Twitter средствами ttytter. Сообщения отправляются, только я никак не могу передать название этих торрентов.

Скрипт ниже.

[console]
#! /bin/bash
/home/torrent/ttytter.pl -keyf=/home/torrent/.ttytterkey -status="$TR_TORRENT_NAME complete"
[/console]

Может кто подскажет где ошибка и почему переменная не передается?

#77101

Решил проблему следующими костылями:

[console]
#! /bin/bash
echo "$TR_TORRENT_NAME" > /home/torrent/file.txt
/home/torrent/ttytter.pl -keyf=/home/torrent/.ttytterkey -status="$(cat /home/torrent/file.txt) complete"
rm /home/torrent/file.txt
[/console]

Скрипт теперь уведомляет меня по твиттеру о совершенных закачках.

Если кто знает альтернативный способ, просьба поделиться.

#302126

Доброго времени суток! Поднимаю тему, дабы не плодить новую, так как задача стоит такая же.
Поставил TTYtter, воспользовался данным скриптом, но оповещение не проходит. Если скрипт просто запускать в терминале, то заветная фраза появляется в твиттере.
Система - ubuntu 12.04 server
Помогите пожалуйста!

#302276

Приветствую. Дальше этого банального скрипта не ушел. Планирую в ближайшие пару дней возобновить реализацию бота. Готов поделиться идеями.

#304997

У меня был скрипт, который отсылал сообщения через 3g модем. Попробую адаптировать под ttytter. Переменная с названием торрента в том скрипте работала. Как что будет, отпишу в эту тему.

#305006

Было бы здорово посмотреть на этот скрипт, потому как сейчас хочу сделать оповещение о всех своих сервисах через 3g и ttyter.

#305356

В первом варианте скрипта у Вас переменная не срабатывала скорее всего из-за того что ее в два слеша запечатать нужно. Обо всем по порядку.
Для оповещения по смс используем gammu (настройка под конкретный телефон или модем индивидуальна - в сети масса примеров).
Сам скрипт:

text
#!/bin/sh

echo "torrent \"$TR_TORRENT_NAME\" completed" | gammu sendsms TEXT +7XXXXXXXXXX -unicode

Теперь про ttytter. Я вообще удивлен и не понимаю как у Вас работал скрипт, так как ttytter активируется под конкретного пользователя и кладет в его домашний каталог файл аутентификации, а вот скрипт уже будет запускать юзер transmission-daemon, у которого даже домашнего каталога нет. Во всяком случае у меня transmission это сделать не мог и вполне логично. Что сделал я:
Для начала будем использовать ttytter как команду, так проще и скрипт красивее :)

text
sudo apt-get install curl
text
sudo wget http://www.floodgap.com/software/ttytter/ttytter.txt -O /usr/bin/ttytter
text
sudo chmod +x /usr/bin/ttytter

Далее создаем пользователя twitter, от которого будет работать ttytter

text
adduser twitter

Логинимся под ним и запускаем ttytter. Нам дают ссылку, по ней привязываем твиттер аккаунт, в домашнем каталоге пользователя twitter появится файлик .ttytterkey
Теперь запускаем visudo

text
visudo

Создаем правило для группы, при котором пользователи, входящие в группу twitter, смогут запускать ttytter без пароля от имени пользователя twitter:

text
%twitter ALL=(twitter) ALL, NOPASSWD: /usr/bin/ttytter

Добавляем пользователя transmission-daemod в группу twitter и переписываем скрипт:

text
#!/bin/sh

echo "torrent \"$TR_TORRENT_NAME\" completed" | sudo -u twitter ttytter -script

Еще одно, ttytter мне не понравился и я стал использовать twidge, похожий консольный твиттер клиент, понравился тем что есть в репах + больше заточен под написание скриптов.

apt-get install twidge

Логинимся под пользователем twitter и выполняем команду:

twidge setup

Копируем ссылку, которую он выдаст, по ней привязываем наш твиттер аккаунт.
Не забываем добавить правило для sudo для команды /usr/bin/twidge как мы делали это для ttytter.

Скрипт под twidge будет выглядеть чуть иначе:

text
#!/bin/sh

echo "torrent \"$TR_TORRENT_NAME\" completed" | sudo -u twitter twidge update

На мой взгляд твиттер нужно вешать на отдельного юзера и затем уже нужных пользователей (в том числе демоны) добавлять в группу twitter, иначе можно задолбаться привязывать к твиттеру каждую службу, которая впоследствии нам может понадобиться.
От смс оповещения я отказался, так как надоело держать симку с абонентской платой каждый месяц на безлимитные смски. Соответственно после этого и перешел на твиттер.

Войдите или зарегистрируйтесь, чтобы ответить.