Обсуждение программ nnCron и nnCron LITE
by Juster » Mon, 01 Apr 2013, 14:32
Добрый день! Подскажите как реализовать в nnCron. Необходимо сделать следующее: 1) Сгенерировать ссылку, вида http://abc.ru/ABC=YYYY-MM-DD, где YYYY-MM-DD дата следующего понедельника. 2) Загрузить по ссылке xml-файл во временную папку. 3) Скопировать файл на FTP-сервер. Спасибо!
-
Juster
-
- Posts: 1
- Joined: Mon, 01 Apr 2013, 14:23
by VoidVolker » Tue, 02 Apr 2013, 08:01
- Code: Select all
#( Задача_085202042013 NoActive SingleInstance : NextMondayS Year@ Mon@ Day@ 8 Year@ Mon@ Day@ WEEK-DAY - DAY+ S>D <# # # [CHAR] - HOLD 2DROP S>D # # [CHAR] - HOLD 2DROP S>D # # # # #> ; Action: S" http://abc.ru/ABC=" NextMondayS S+ HTTP-GET IF 2DROP ." Не могу загрузить файл. Код возврата сервера: " HTTP-RESULT . CR ELSE S" D:\TEMP\file.xml" FWRITE START-APP: D:\wput\wput.exe -B -u -nc -t5 -a " D:\wput\logs\%DD%-%MM%-%YYYY%.log" "D:\TEMP\file.xml" "ftp://server/catalog" THEN )#
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Snk-Serge » Mon, 22 Apr 2013, 11:01
Добрый день, вставил ваш скрипт в файл cron.tab, но при запуске задачи ничего не происходит. В тексте скрипта ничего не менял, кроме адреса ФТП. Его задал в формате: ftp://login:pass@ftp.ru/directory/ В чем может быть причина не срабатывания скрипта? На ФТП предварительно захожу через проводник по той же ссылке, все работает.
-
Snk-Serge
-
- Posts: 14
- Joined: Mon, 22 Apr 2013, 10:52
by VoidVolker » Mon, 22 Apr 2013, 20:46
Пути правильно указаны? А в фаерволле разрешен сетевой доступ? При отсутствии сетевого доступа для ннкрона скрипт пишет об этом в консоли ннкрона.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Snk-Serge » Fri, 26 Apr 2013, 08:17
VoidVolker wrote:Пути правильно указаны? А в фаерволле разрешен сетевой доступ? При отсутствии сетевого доступа для ннкрона скрипт пишет об этом в консоли ннкрона.
Фаерволл вообще отключен, пути указаны верно, т.к. я пробовал их прямо из скрипта вставлять в браузер на том же компьютере, что и nnCron, через него все открывается. В консоли при запуске скрипта выводиться сообщение Can't load file from server (Это то сообщение из скрипта, при невозможности загрузить файл по ссылке), т.е. до загрузки на ФТП дело даже не доходит. Мне почему-то кажется, что в ссылку не вбивается нужная дата и из-за этого не происходит скачивание. Скрипт я вбил следующим образом: - Code: Select all
#( Download NoActive SingleInstance : NextMondayS Year@ Mon@ Day@ 8 Year@ Mon@ Day@ WEEK-DAY - DAY+ S>D <# # # [CHAR] - HOLD 2DROP S>D # # [CHAR] - HOLD 2DROP S>D # # # # #> ; Action: HTTP-GET: " http://abc.ru/ABC=%NextMondayS%" IF 2DROP ." Can't load EPG from server. Code: " HTTP-RESULT . CR ELSE S" C:\TEMP\file.xml" FWRITE START-APP: C:\wput\wput.exe -B -u -nc -t5 -a " C:\wput\logs\%DD%-%MM%-%YYYY%.log" "C:\TEMP\file.xml" "ftp://login:pass@ftp.ru/directory" THEN )#
PS. Слэши в адресе ФТП ставил в обе стороны. Я так понимаю, что нужно все-таки вправо (/)?
Last edited by VoidVolker on Fri, 26 Apr 2013, 09:39, edited 1 time in total.
Reason: Для кода следует использовать тег code
-
Snk-Serge
-
- Posts: 14
- Joined: Mon, 22 Apr 2013, 10:52
by VoidVolker » Fri, 26 Apr 2013, 09:42
Да, заглянул внутрь HTTP-GET: - оказалось, оно определено несколько иначе, чем другие аналогичные слова. Поправил скрипт. Надо вот так: - Code: Select all
S" http://abc.ru/ABC=" NextMondayS S+ HTTP-GET
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Snk-Serge » Sun, 28 Apr 2013, 04:40
VoidVolker wrote:Да, заглянул внутрь HTTP-GET: - оказалось, оно определено несколько иначе, чем другие аналогичные слова. Поправил скрипт. Надо вот так: - Code: Select all
S" http://abc.ru/ABC=" NextMondayS S+ HTTP-GET
Т.е. страка в скрипте должна выглядеть так: - Code: Select all
Action: S" http://abc.ru/ABC=" NextMondayS S+ HTTP-GET IF 2DROP ." Can't load EPG from server. Code: " HTTP-RESULT . CR ELSE S" C:\TEMP\file.xml" FWRITE START-APP: C:\wput\wput.exe -B -u -nc -t5 -a " C:\wput\logs\%DD%-%MM%-%YYYY%.log" "C:\TEMP\file.xml" "ftp:\\ftp\directory" THEN
?
Last edited by VoidVolker on Sun, 28 Apr 2013, 06:53, edited 1 time in total.
Reason: Для кода следует использовать тег code
-
Snk-Serge
-
- Posts: 14
- Joined: Mon, 22 Apr 2013, 10:52
by VoidVolker » Sun, 28 Apr 2013, 06:53
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by VoidVolker » Tue, 30 Apr 2013, 14:10
- Code: Select all
<% : ThisWeekDay>YMD \ ( week_day_number -- y m d ) >R Year@ Mon@ Day@ R> Year@ Mon@ Day@ WEEK-DAY - DAY+ ;
: YMD>YYYY-MM-DD \ ( y m d -- a u ) S>D <# # # [CHAR] - HOLD 2DROP S>D # # [CHAR] - HOLD 2DROP S>D # # # # #> ;
: WD>Y-M-D \ ( n -- a u ) ThisWeekDay>YMD YMD>YYYY-MM-DD ;
: ThisMonS \ ( -- a u ) 1 WD>Y-M-D ;
: ThisSunS \ ( -- a u ) 7 WD>Y-M-D ;
: NextMonS \ ( -- a u ) 8 WD>Y-M-D ; %>
#( Задача_150330042013 NoActive SingleInstance Action: S" https://abc.ru/date0=" ThisMonS S+ S" &date1=" S+ ThisSunS S+ HTTP-GET IF 2DROP ." Не могу загрузить файл. Код возврата сервера: " HTTP-RESULT . CR ELSE S" C:\TEMP\file.xml" FWRITE START-APP: C:\wput\wput.exe -B -u -nc -t5 -a " C:\wput\logs\%DD%-%MM%-%YYYY%.log" "C:\TEMP\file.xml" "ftp://ftp/directory" THEN )#
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Snk-Serge » Sun, 12 May 2013, 15:06
Сейчас скачивание с сайта по ссылки работает отлично, но не работает загрузка на ФТП. Весь текст скрипта такой же, как и в указанном посте. Хотя с того же сервера пробовал вбивать ту же ссылку из скрипта просто в проводник, там фтп открывается  .
-
Snk-Serge
-
- Posts: 14
- Joined: Mon, 22 Apr 2013, 10:52
by VoidVolker » Sun, 12 May 2013, 15:31
А путь к wput правильно указан? Ему разрешен сетевой доступ? Ннкрон запущен как приложение? Если как сервис, то надо еще указать для задачи опцию AsLoggedUser.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Snk-Serge » Mon, 13 May 2013, 17:52
VoidVolker wrote:А путь к wput правильно указан? Ему разрешен сетевой доступ? Ннкрон запущен как приложение? Если как сервис, то надо еще указать для задачи опцию AsLoggedUser.
Немного по другому прописал команду в скрипте для wput и в пути для ФТП нужно было дописать имя копируемого файла: вместо C:\wput\wput.exe -B -u -nc -t5 -a " C:\wput\logs\%DD%-%MM%-%YYYY%.log" "C:\TEMP\file.xml" "ftp://ftp/directory" написал C:\wput\wput.exe C:\TEMP\file.xml ftp://ftp/directory/file.xmlпосле чего все заработало. Но остался один небольшой вопрос по второму скрипту (для ссылки https://abc.ru/date0=DD1.MM1.YYYY1&date1=DD2.MM2.YYYY2): генерация ссылки работает, но дело в том, что при переходе по данной ссылке не происходит сохранения файла, а происходит открытие текста из файла в окне браузера и, чтобы его сохранить, нужно нажимать Ctrl+S. Возможно ли сделать так, чтобы скрипт это делал сам или есть какая-нибудь команда, которую нужно дописать в адрес ссылки, для автоматического сохранения?
-
Snk-Serge
-
- Posts: 14
- Joined: Mon, 22 Apr 2013, 10:52
by VoidVolker » Mon, 13 May 2013, 18:03
Snk-Serge wrote:Но остался один небольшой вопрос по второму скрипту (для ссылки https://abc.ru/date0=DD1.MM1.YYYY1&date1=DD2.MM2.YYYY2): генерация ссылки работает, но дело в том, что при переходе по данной ссылке не происходит сохранения файла, а происходит открытие текста из файла в окне браузера и, чтобы его сохранить, нужно нажимать Ctrl+S. Возможно ли сделать так, чтобы скрипт это делал сам или есть какая-нибудь команда, которую нужно дописать в адрес ссылки, для автоматического сохранения?
Нажимать в контекстном меню браузера "сохранить как". А скрипт так и так сохраняет полученные данные в виде файла без участия бразуера.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Snk-Serge » Fri, 24 May 2013, 14:57
VoidVolker wrote:- Code: Select all
#( Задача_085202042013 NoActive SingleInstance : NextMondayS Year@ Mon@ Day@ 8 Year@ Mon@ Day@ WEEK-DAY - DAY+ S>D <# # # [CHAR] - HOLD 2DROP S>D # # [CHAR] - HOLD 2DROP S>D # # # # #> ; Action: S" http://abc.ru/ABC=" NextMondayS S+ HTTP-GET IF 2DROP ." Не могу загрузить файл. Код возврата сервера: " HTTP-RESULT . CR ELSE S" D:\TEMP\file.xml" FWRITE START-APP: D:\wput\wput.exe -B -u -nc -t5 -a " D:\wput\logs\%DD%-%MM%-%YYYY%.log" "D:\TEMP\file.xml" "ftp://server/catalog" THEN )#
А как сделать то же самое, только в формате: http://abc.ru/ABC=MM.DD.YYYY? Можно с небольшими комментариями для той части, где высчитывается день недели? Чтобы я по таким глупым вопросам больше не беспокоил  .
-
Snk-Serge
-
- Posts: 14
- Joined: Mon, 22 Apr 2013, 10:52
Return to nnCron forum (Russian)
Who is online
Users browsing this forum: No registered users and 1 guest
|
|