Доброе утро!
Сразу предупрежу что я новичок в Linux, совсем совсем. Так вот, есть роутер asus rt-n65u с кастомной прошивкой основанной на busybox, пытаюсь автоматизировать загрузку торрентов в transmission. Написал скриптик:
text
#!/bin/sh
wget -qO - http://lostfilm.tv/rssdd.xml | grep -ioe 'http.*torrent' | grep -ie 720p.WEB.rus | sed 's/php./php?/g' > target
for file in `cat target`
do
wget -P /mnt/transmission/watch '$file' --header 'Cookie: uid=...; pass=....; usess=.....';
done
но при выполнении выдает ошибку
text
./torrent_script.sh: line 7: syntax error: EOF in backquote substitution
--2014-01-29 11:28:46-- [url]http://lostfilm.tv/download.php?id=9059&Grimm.S03E12.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся lostfilm.tv (lostfilm.tv)... 5.199.162.25
Подключение к lostfilm.tv (lostfilm.tv)|5.199.162.25|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 302 Moved Temporarily
Адрес: [url]http://www.lostfilm.tv/download.php?id=9059&Grimm.S03E12.720p.WEB.rus.LostFilm.TV.torrent[/url] [переход]
--2014-01-29 11:28:46-- [url]http://www.lostfilm.tv/download.php?id=9059&Grimm.S03E12.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся [url=http://www.lostfilm.tv]www.lostfilm.tv[/url] ([url=http://www.lostfilm.tv]www.lostfilm.tv[/url])... 5.199.162.25
Повторное использование соединения с lostfilm.tv:80.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: нет данных [text/html]
Сохранение в каталог: ««/home/gu/watch/download.php?id=9059&Grimm.S03E12.720p.WEB.rus.LostFilm.TV.torrent»».
--2014-01-29 11:28:46-- [url]http://lostfilm.tv/download.php?id=9056&Anger.Management.S02E47.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся lostfilm.tv (lostfilm.tv)... 5.199.162.25
Подключение к lostfilm.tv (lostfilm.tv)|5.199.162.25|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 302 Moved Temporarily
Адрес: [url]http://www.lostfilm.tv/download.php?id=9056&Anger.Management.S02E47.720p.WEB.rus.LostFilm.TV.torrent[/url] [переход]
--2014-01-29 11:28:46-- [url]http://www.lostfilm.tv/download.php?id=9056&Anger.Management.S02E47.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся [url=http://www.lostfilm.tv]www.lostfilm.tv[/url] ([url=http://www.lostfilm.tv]www.lostfilm.tv[/url])... 5.199.162.25
Повторное использование соединения с lostfilm.tv:80.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: нет данных [text/html]
Сохранение в каталог: ««/home/gu/watch/download.php?id=9056&Anger.Management.S02E47.720p.WEB.rus.LostFilm.TV.torrent»».
--2014-01-29 11:28:46-- [url]http://lostfilm.tv/download.php?id=9053&Klondike.S01E01.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся lostfilm.tv (lostfilm.tv)... 5.199.162.25
Подключение к lostfilm.tv (lostfilm.tv)|5.199.162.25|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 302 Moved Temporarily
Адрес: [url]http://www.lostfilm.tv/download.php?id=9053&Klondike.S01E01.720p.WEB.rus.LostFilm.TV.torrent[/url] [переход]
--2014-01-29 11:28:47-- [url]http://www.lostfilm.tv/download.php?id=9053&Klondike.S01E01.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся [url=http://www.lostfilm.tv]www.lostfilm.tv[/url] ([url=http://www.lostfilm.tv]www.lostfilm.tv[/url])... 5.199.162.25
Повторное использование соединения с lostfilm.tv:80.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: нет данных [text/html]
Сохранение в каталог: ««/home/gu/watch/download.php?id=9053&Klondike.S01E01.720p.WEB.rus.LostFilm.TV.torrent»».
--2014-01-29 11:28:47-- [url]http://lostfilm.tv/download.php?id=9050&The.Musketeers.S01E01.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся lostfilm.tv (lostfilm.tv)... 5.199.162.25
Подключение к lostfilm.tv (lostfilm.tv)|5.199.162.25|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 302 Moved Temporarily
Адрес: [url]http://www.lostfilm.tv/download.php?id=9050&The.Musketeers.S01E01.720p.WEB.rus.LostFilm.TV.torrent[/url] [переход]
--2014-01-29 11:28:47-- [url]http://www.lostfilm.tv/download.php?id=9050&The.Musketeers.S01E01.720p.WEB.rus.LostFilm.TV.torrent[/url]
Распознаётся [url=http://www.lostfilm.tv]www.lostfilm.tv[/url] ([url=http://www.lostfilm.tv]www.lostfilm.tv[/url])... 5.199.162.25
Повторное использование соединения с lostfilm.tv:80.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: нет данных [text/html]
Сохранение в каталог: ««/home/gu/watch/download.php?id=9050&The.Musketeers.S01E01.720p.WEB.rus.LostFilm.TV.torrent»».
Пробовал и в одинарных и двойных и без, как угодно. Одно и то же.
Ваш пример тоже не пашет, ругается на url
text
/etc/storage # wget -qO - [url]http://lostfilm.tv/rssdd.xml[/url] > temp
wget: not an http or ftp url: [url]http://lostfilm.tv/rssdd.xml[/url]
P/S/ Убрал
text
[url] [/url]
и все заработало.... Ничо не понимаю, я пробовал с двойными кавычками и не получалось :(
А как посмотреть на что именно ругается? Чтоб знать на будущее
Каюсь, мой косяк, создавал файл из под винды и перевод строки сделал через Enter.
Пересоздал файл через консоль и vi, все заработало :)
Огромное спасибо за помощь!!! Пойду дальше изучать bash, теперь предстоит разобраться с проверкой уже скачанных торрентов, чтобы не перекачивать заново
Получилось вот такое в итоге, мало ли кому пригодится:
text
#!/bin/sh
cat /mnt/transmission/downloads/serial_list > serial_list
for serial in `cat serial_list`
do
wget -qO - http://lostfilm.tv/rssdd.xml | sed '/http.*torrent/!d; /'$serial'/!d; /720p\.WEB\.rus/!d; s/php./php?/g; s/.*\(http.*torrent\).*/\1/g' |\
while read file
do
if [ -f /mnt/transmission/watch/"${file#*\&}".added ]; then
echo "${file#*\&}" is also downloaded >> log;
elif [ 1=1 ]; then
wget "$file" -O /mnt/transmission/watch/"${file#*\&}" --header 'Cookie: uid=...; pass=...; usess=...' >> log;
fi
done
Не ас в линухах... не смог заставить работать flexget. да и такой путь мне больше нравится, в линухах не силен особо... подскажите в чем косяк...
этот скрипт
text
#!/bin/sh
cat /volume1/public/serial/serial_list.txt: > serial_list
for serial in `cat serial_list`
do
wget -qO - http://lostfilm.tv/rssdd.xml | sed '/http.*torrent/!d; /'$serial'/!d; /720p\.WEB\.rus/!d; s/php./php?/g; s/.*\(http.*torrent\).*/\1/g' |\
while read file
do
if [ -f /volume1/public/"${file#*\&}".added ]; then
echo "${file#*\&}" is also downloaded >> log;
elif [ 1=1 ]; then
wget "$file" -O /volume1/public/"${file#*\&}" --header 'Cookie: uid=*****; pass=**********; usess=***************' >> log;
fi
done
done
Выдает
text
DiskStation> sh run3.sh
: not foundne 2:
cat: /volume1/public/serial/serial_list.txt:: No such file or directory
run3.sh: line 5: syntax error: unexpected word (expecting "do")
Не ас в линухах... не смог заставить работать flexget. да и такой путь мне больше нравится, в линухах не силен особо... подскажите в чем косяк...
этот скрипт
Выдает
text
DiskStation> sh run3.sh
: not foundne 2:
cat: /volume1/public/serial/serial_list.txt:: No such file or directory
run3.sh: line 5: syntax error: unexpected word (expecting "do")
Тоже не ас, но могу подсказать про 1 скрипт, проблема в файле со списком сериалов. Я создавал файл через консоль, без разрешения txt, потом редактировал через vi (перед и после имен сериалов не должно быть никаких символов, для перехода на новую строчку используйте o)
До этого создавал файл в обычном блокноте винды и получал ошибки, у меня serial_list выглядит так:
ошибся... вобщем этот скрипт заработал, файл и правда кривоват был ) Кстати не обязательно через vim, можно и через notepad++ или мне нравится текстовик консольный jed, у него все функции есть.
Спасибо!
ошибся... вобщем этот скрипт заработал, файл и правда кривоват был ) Кстати не обязательно через vim, можно и через notepad++ или мне нравится текстовик консольный jed, у него все функции есть.
Спасибо!
Вообще вам по идее не стоило городить весь этот огород, а чуть модифицировать этот скрипт:
lynxvoodoo, согласен. но по сути функцию выполняет, и у меня никак не получается в этом скрипте фильтр на 720p настроить... пытаюсь flexget победить для этих функций, но ощущение что он побеждает...
lynxvoodoo, согласен. но по сути функцию выполняет, и у меня никак не получается в этом скрипте фильтр на 720p настроить... пытаюсь flexget победить для этих функций, но ощущение что он побеждает...
Пользуйтесь тем что работает :) Надо на виртуалку поставить что-нить из linux и попробовать с -i
P/S/
А еще лучше присмотритесь вот к этому проекту, там много возможностей http://habrahabr.ru/post/210548/, мне его на роутере не развернуть :(