Ru-Board.club
← Вернуться в раздел «Программы»

» nnCron

Автор: newbie2k6
Дата сообщения: 14.06.2012 08:48
LexVel

Код: #( run-and-kill
SingleInstance
Time: 8,18,28,38,48,58 * * * *
: myprog S" C:\10_min_Trial\Trial.exe" ;
0 VAR myprog-id
Action:
myprog START-APP
PROC-ID TO myprog-id
119000 PAUSE
myprog-id kill
)#
Автор: LexVel
Дата сообщения: 14.06.2012 12:49
newbie2k6

Цитата:
#( run-and-kill
SingleInstance
Time: 8,18,28,38,48,58 * * * *
: myprog  S" C:\10_min_Trial\Trial.exe" ;
0 VAR myprog-id
Action:
myprog  START-APP
PROC-ID TO myprog-id
119000 PAUSE
myprog-id kill
)#


пишет синт. ошибка, я может чего делаю не так?

ложу все файлы по пути C:\10_min_Trial\Trial.exe
Автор: newbie2k6
Дата сообщения: 15.06.2012 07:20
LexVel
Пардон, давно новые таски не делал, уже синтаксис подзабыл...
Конечно же, должно быть не VAR, а VALUE — туплю.


Код: #( run-and-kill
SingleInstance
Time: 8,18,28,38,48,58 * * * *
: myprog S" C:\10_min_Trial\Trial.exe" ;
0 VALUE myprog-id
Action:
myprog START-APP
PROC-ID TO myprog-id
119000 PAUSE
myprog-id kill
)#
Автор: LexVel
Дата сообщения: 15.06.2012 08:37
newbie2k6

спасиб., вроде работает.

но сейчас заметил приложение которое было запущено раньше, немного остается как бы открытым, в трее..., наравне в вновь запущенным,
можно ли как как пустилось 2-е, сразу закрыть первое ?

и есть ли возможность запускать приложение 1 и последующие в режиме службы,
чтобы не всплывало окно, на экран, максимум появлялся значок где часы, в трее. ?

заранее респект, за ответ.
Автор: newbie2k6
Дата сообщения: 15.06.2012 11:42
LexVel
но сейчас заметил приложение которое было запущено раньше, немного остается как бы открытым, в трее..., наравне в вновь запущенным,
можно ли как как пустилось 2-е, сразу закрыть первое ?

Таск сам через 2 минуты убивает 1-е приложение, а еще через 8 минут запускается 2-е.
Я так понял, просто трей надо обновить: TRAY-REFRESH

и есть ли возможность запускать приложение 1 и последующие в режиме службы,
чтобы не всплывало окно, на экран, максимум появлялся значок где часы, в трее. ?

Для скрытия окна программы есть слово: SWHide
Насчет запуска в режиме службы не подскажу, сам не разбираюсь.

P.S. Советую больше курить мануал и читать оф. форум http://nncron.ru/forums/viewforum.php?f=5
Автор: LexVel
Дата сообщения: 15.06.2012 17:46
newbie2k6

SWHide

ставлю после Action: ниже строкой, так посмотрел в примере, по ссылке,
в моем случае он все равно открывает окно, что не так?
Автор: newbie2k6
Дата сообщения: 15.06.2012 18:27
LexVel
http://www.google.ru/search?hl=en&newwindow=1&safe=off&site=&source=hp&q=%22START-APP%22+%22SWHide%22+site%3Anncron.ru&btnG=Search

см. P.S.
Автор: lucky_Luk
Дата сообщения: 26.06.2012 21:24
Кто-то может помочь с nnBackup?
http://forum.ru-board.com/topic.cgi?forum=5&topic=6505&start=200#2
Автор: wsadneg
Дата сообщения: 27.06.2012 17:14
LexVel
Такое бывает, если программа открывает окно из дочернего процесса. В таком случае, после небольшой паузы можно скрыть это окно, я делал win-close несколько раз подряд с момента запуска, с интервалом 100 мс, чтобы окно как можно меньше времени на экране маячило.
Автор: LexVel
Дата сообщения: 27.06.2012 21:45
wsadneg

Цитата:
, если программа открывает окно из дочернего процесса. В

я запарился, или оно открыто или свернуто, в трей к часам не хочет.
Автор: HelioSS
Дата сообщения: 29.06.2012 22:04
Подскажите как сделать, чтобы сабж проверял на ftp наличие файла с нужным названием, его размер, дату создания, сверял с аналогичным файлом на компе и, в случае, если дата создания у файла на ftp будет более свежей, то этот файл скачивается туда же, где лежит его аналог с запросом о замене файла?
Автор: newbie2k6
Дата сообщения: 30.06.2012 12:59
HelioSS
Подскажите как сделать, чтобы сабж проверял на ftp наличие файла с нужным названием, его размер, дату создания, сверял с аналогичным файлом на компе и, в случае, если дата создания у файла на ftp будет более свежей, то этот файл скачивается туда же, где лежит его аналог с запросом о замене файла?

Конкретики маловато. А так, насколько я понимаю, алгоритм может быть достаточно простым:
1) Скачиваем веб-страницу со ссылками на файлы, включая нужный.
2) Парсим эту страницу средствами nnCron (на оф. сайте есть плагин READ-BY-LINE).
3) Ищем файл с нужным названием и проверяем его размер и дату создания.
4) Если файл более новый, чем тот, что у нас есть, скачиваем новый файл (проще использовать wget).

Хотя, возможно, придется повозиться с отладкой...

На форуме nncron.ru есть полезные темы, например: Если на ftp есть файл, то..
Автор: HelioSS
Дата сообщения: 30.06.2012 13:49
newbie2k6
Спасибо!
А зачем
Цитата:
1) Скачиваем веб-страницу со ссылками на файлы
? ссылка постоянная.

Автор: newbie2k6
Дата сообщения: 30.06.2012 18:20
HelioSS
? ссылка постоянная.
В моем случае дело обстояло иначе. Пару лет назад, когда у меня выход в Интернет («мир») был намного медленнее и дороже, чем сейчас, я ежедневно скачивал с сайта своего провайдера nnCron'ом свежие вирусные базы для антивируса avast!

Ссылка на эти базы каждый раз была новая (по крайней мере, помню, что каждый раз приходилось парсить HTML-страницу, чтобы вытащить из нее ссылку). Также помню, что дату создания и размер файла на FTP-сервере извлекал из той же HTML-страницы. Как получал HTML-файл, уже забыл (наверное, использовал стандартное nnCron'овское слово HTTP-GET), а вот нужный файл с вирусными базами скачивал wget'ом, поскольку слово HTTP-GET протокол FTP не поддерживает.

К сожалению, понятия не имею, как узнать размер файла и дату создания на сервере без парсинга страниц... Возможно, wget умеет это делать?

Добавлено:
P.S. Не, вру: ссылка вроде была одна и та же. Получается, что HTML-файл я парсил только ради даты и времени (наверное, чтобы не качать файл с базами, если он не обновился, а то его размер был несколько десятков мегабайт).


Добавлено:
Похоже, wget может пригодиться. Вот что говорится в справке:

Цитата:
Time-Stamping

One of the most important aspects of mirroring information from the Internet is updating your archives.

Downloading the whole archive again and again, just to replace a few changed files is expensive, both in terms of wasted bandwidth and money, and the time to do the update. This is why all the mirroring tools offer the option of incremental updating.

Such an updating mechanism means that the remote server is scanned in search of new files. Only those new files will be downloaded in the place of the old ones.

A file is considered new if one of these two conditions are met:
1. A file of that name does not already exist locally.
2. A file of that name does exist, but the remote file was modified more recently than the local file.
To implement this, the program needs to be aware of the time of last modification of both local and remote files. We call this information the time-stamp of a file.

The time-stamping in GNU Wget is turned on using --timestamping (-N) option, or through timestamping = on directive in .wgetrc. With this option, for each file it intends to download, Wget will check whether a local file of the same name exists. If it does, and the remote file is older, Wget will not download it.

If the local file does not exist, or the sizes of the files do not match, Wget will download the remote file no matter what the time-stamps say.


Добавлено:
Вот что значит не читать справки к софту!
Автор: HelioSS
Дата сообщения: 30.06.2012 19:36
Мда...
Понимаю так, что надо узнать:
1. как получить доступ к файлу на ftp;
2. как получить атрибуты файла на ftp;
3. как скачать файл с ftp.
Мда...
Автор: newbie2k6
Дата сообщения: 01.07.2012 07:41
HelioSS
Советую не заморачиваться с мелочами, как это в свое время из-за незнания особенностей wget сделал я, а воспользоваться средствами wget. Тогда задача сведется к следующей:
1) Используем связку nnCron + wget, чтобы скачать файл, если он обновился на FTP-сервере (с аттрибутами файла пусть wget разбирается).
2) Если файл скачан, спрашиваем пользователя, заменить ли существующий файл.
Профит!
Автор: HelioSS
Дата сообщения: 01.07.2012 10:52
newbie2k6

Цитата:
с аттрибутами файла пусть wget разбирается

А он разве может? Я вчера смотрел - не увидел у него такой возможности.
Цитата:
Если файл скачан, спрашиваем пользователя

А почему после скачивания а не перед?
Автор: newbie2k6
Дата сообщения: 02.07.2012 11:01
HelioSS
А он разве может? Я вчера смотрел - не увидел у него такой возможности.
Я же привел цитату из справки Wget (см. выше).

Цитата:
The time-stamping in GNU Wget is turned on using --timestamping (-N) option, or through timestamping = on directive in .wgetrc. With this option, for each file it intends to download, Wget will check whether a local file of the same name exists. If it does, and the remote file is older, Wget will not download it.

Если отметка времени у файла на FTP-сервере новее, чем у локального файла, то Wget скачает файл с сервера.

А почему после скачивания а не перед?
Наверное, потому, что nnCron не поддерживает протокол FTP напрямую...
Автор: Econ4321
Дата сообщения: 21.08.2012 20:34
Господа, как в nncron нажать кнопку Pause?
Автор: lucky_Luk
Дата сообщения: 21.08.2012 21:56
Econ4321

Цитата:
Господа, как в nncron нажать кнопку Pause?

А где ты ее хочешь нажать?
Автор: xerpal
Дата сообщения: 22.08.2012 09:07
Хм, не читал ветку, но кто подскажет - есть решение, чтобы nncron работал в windows 7 64 или же придется искать аналог? Поставил 7-ку, nncron сдох, как лечить.
Автор: romazis
Дата сообщения: 22.08.2012 09:15

Цитата:
Хм, не читал ветку, но кто подскажет - есть решение, чтобы nncron работал в windows 7 64 или же придется искать аналог? Поставил 7-ку, nncron сдох, как лечить.


Никак не лечиться. Только если автор перепишет специально под Win x64.
И, вообще, пара забить на эту морально устаревшую софтину...
Автор: xerpal
Дата сообщения: 22.08.2012 09:18
romazis

Цитата:
Никак не лечиться. Только если автор перепишет специально под Win x64.
И, вообще, пара забить на эту морально устаревшую софтину...

Так посоветуйте замену. Стандартный планировщик никакой.
Автор: Econ4321
Дата сообщения: 22.08.2012 14:06

Цитата:
А где ты ее хочешь нажать?


Запускается приложение, кликами мышки выбираются определенные пункты меню, для старта необходимо нажать "pause".
Автор: idlenlazy
Дата сообщения: 22.08.2012 14:31
xerpal
У меня пока нормально рабоотает. Но особо не тестировал. Попробуй запустить, как приложение.

romazis
Ну, так забей. Кто ж мешает.
Автор: xerpal
Дата сообщения: 22.08.2012 14:33
idlenlazy

Цитата:
У меня пока нормально рабоотает. Но особо не тестировал. Попробуй запустить, как приложение.

Это как?
Автор: idlenlazy
Дата сообщения: 22.08.2012 15:09
xerpal

С параметром -ns, nnCron запустится как приложение, не как служба. Службу нужно будет отключить. Настройки в этом случае будут храниться в папке Roaming. Еще бы посоветовал отключить все ненужные плагины. У меня из-за них и на XP nnCron вылетал.
И еще во всех задачах нужно будет удалить строчку AsLoggedUser. Ну или в настройках задачи снять галочку "Как пользователь, выполнивший Logon"
Автор: lucky_Luk
Дата сообщения: 22.08.2012 18:36
Econ4321


Цитата:
Запускается приложение, кликами мышки выбираются определенные пункты меню, для старта необходимо нажать "pause".

Значит нужно с помощью nnCron навести мышь на кнопку Pause и нажать ее. Смотри в Справке слова MOUSE-MOVE, MOUSE-POS, MOUSE-LBCLK. Для узнавания координат используй WinSpy, он находится в разделе Инструменты в меню, которое вызывается по правому клику по значку nnCron в трее.

А в этом твоем приложении нельзя просто назначить хоткей на паузу или может хоткей уже есть? Если да, то посылай нужную комбинацию клавиш словом WIN-SEND.
Автор: Econ4321
Дата сообщения: 22.08.2012 20:30
lucky_Luk - благодарю. Хоткей назначился.

Еще вопрос - как сделать, чтобы скрипт выполнялся 1 раз при каждом запуске пк, если время попадает в диапазон

Time: * 19-23,0-6 * * 1-5 *
Time: * * * * 6-7 *

?
Автор: lucky_Luk
Дата сообщения: 22.08.2012 23:04
Econ4321

Цитата:
Еще вопрос - как сделать, чтобы скрипт выполнялся 1 раз при каждом запуске пк, если время попадает в диапазон

Тебе нужно, чтобы задача запускалась один раз при каждом запуске ПК или раз в день?

Если один раз в день - поставь OnceADay.
А если один раз при каждом запуске ПК, это сложнее, я сходу и не придумаю лучший вариант, да у меня еще и Хелп на английском, см. секцию Tips-'N'-Tricks, а в ней вопрос - How can I make the task Active/NoActive programmatically?
Но придется для этого городить еще одну задачу.

А что за штуковину тебе нужно каждый раз при запуске ПК ставить на паузу? Может стоит не ставить ее на паузу в нужные дни, а сделать ее запуск только в "ненужные" дни, а в остальное время чтобы и не запускалась (привязать запуск этого плеера к задаче nnCron)?

Добавлено:
А что, задача с твоими условиями Time: запускается по несколько раз, даже если не перезагружать ПК? Вроде не должна...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354

Предыдущая тема: Autodesk AutoCAD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.