![]() |
сделал такую менюшку (с верху с права) с помощью windows powerpro, возможно ли реализовать такую менюху в nnCron ?
|
Цитата:
Хотелось бы по-человечески, например, как в GoldEd'е С уважением, StasK |
Хелп пиплы
пытаюсь проверить имя залогившегося юзверя но чето не помогает ... де ошибка (всегда "Strings are different") S" User" S" %USERNAME%" COMPARE 0= IF MSG: "Strings are the same" ELSE MSG: "Strings are different" THEN |
task79
Код:
S" User" USERNAME COMPARE 0= |
Hi, All!
Может кто подскажет? Ситуация - иногда зависает задачка (из-за несвоевременности включения сетевых принтеров) Пытаюсь решить эту задачу - или настроить реакцию на "включаемость" принтеров или (что мне больше нравиться) настроить реакцию на внешнее событие, например, отравить сообщение на "администратора сервера" и чтоб при получении сообщения nnCron выполнил пачку мероприятий. Проблема - не получилось настроить распознавание появления сообщений (Заголовок "Сообщение от....) и не получилось настроить на появление новой записи в Event-логе. --------- Просто на новую запись в Event (System) реагирует, а вот на запись с ID 26 настроить реакцию не удалось. (в принципе было бы достаточно реакции на Event с ID 26) |
Менеджер закачек WGET
Привет всем!
Я слегка подправил стандартный пример. Теперь, если отказаться от закачки, то можно сохранить ссылку в файл. И добавил еще одну задачу, которая мониторит процесс закачки wget-а, и, если файл докачан, приступает к закачке следующего. ################################ # URL monitor ################################ SET WgetPath=S:\wget\Config\ SET WGETRC=%WgetPath%wget.cfg #( WGET_task : WGET-PAT S" /(http)|(ftp):\/\/[^ ]+?\.(zip)|(gz)|(rar)|(jpeg)|(jpg)|(exe)|(mp3)/i" ; AsLoggedUser VARIABLE WgetEnable WatchClipboard: * Rule: RE-MATCH: %CLIPBOARD% %WGET-PAT% RE-MATCH: "%USERNAME%" "/ivanitsa/i" AND Action: WgetEnable ON RE-ALL: %CLIPBOARD% %WGET-PAT% WgetEnable @ IF QUERY: "Загрузить %$0%?" IF ShowNormal START-APP: S:\SocksCap32 V26\Sc32.exe %WgetPath%wget.exe %$0% ELSE QUERY: "Поставить в очередь %$0%?" IF FILE-APPEND: "%WgetPath%links.wgt" "%$0%%crlf%" WgetEnable OFF THEN THEN ELSE FILE-APPEND: "%WgetPath%links.wgt" "%$0%%crlf%" THEN ;RE-ALL )# ############################### # LINK monitor ############################### #( Wget_Refresh AsLoggedUser VARIABLE list-file CREATE list-contents 258 ALLOT VARIABLE log-file CREATE log-contents 258 ALLOT VARIABLE WGDownloadFlag : fREL S>D log-file @ FILE-POSITION THROW D+ log-file @ REPOSITION-FILE THROW ; : fREAD log-contents SWAP log-file @ READ-FILE THROW log-contents SWAP ; Time: */20 * * * * * Rule: PROC-EXIST: "wget.exe" NOT FILE-EXIST: "%WgetPath%links.wgt" AND Action: \ Выставляем переменные \ WGDownloadFlag OFF \ Читаем адрес из очереди S" s:\wget\Config\Links.wgt" R/O OPEN-FILE-SHARED \ Страховка на случай отсутствия файла IF DROP EXIT THEN list-file ! list-contents 1+ 255 list-file @ READ-LINE THROW DROP list-contents C! \ Читаем адрес из log файла S" s:\wget\Config\wgcron.out" R/O OPEN-FILE-SHARED \ Страховка на случай отсутствия Log-файла IF DROP list-file @ THEN log-file ! log-contents 1+ 255 log-file @ READ-LINE THROW DROP log-contents C! log-contents COUNT 14 /STRING log-contents PLACE \ Теперь нужно сравнить эти ссылки, \ и если они совпали, то проверить log-contents COUNT list-contents COUNT COMPARE 0= IF \ Совпали! Смотрим в конце лога: \ Это обрыв или успешная закачка log-file @ >EOF \ на EOF -48 fREL 46 fREAD \ на стеке строка с концовкой лога S" /(\;\snothing\sto\sdo\.)|(\ssaved\s\[)/i" RE-MATCH IF \ используем переменные log-... для копирования list-file @ CLOSE-FILE DROP \ сначала нужно log-file @ CLOSE-FILE DROP \ закрыть дескрипторы \ Переименовали файл Links.wgt PAUSE: 1000 FILE-RENAME: "s:\wget\Config\links.wgt" "s:\wget\Config\links.old" \ теперь выбрасаваем первую ссылку S" s:\wget\Config\Links.old" R/O OPEN-FILE-SHARED THROW log-file ! log-contents 1+ 255 log-file @ READ-LINE THROW DROP log-contents C! \ а остальное сливаем в Links.wgt BEGIN log-contents 1+ 255 log-file @ READ-LINE THROW WHILE log-contents C! FILE-APPEND: "%WgetPath%links.wgt" "%log-contents COUNT%%crlf%" REPEAT DROP log-file @ CLOSE-FILE DROP PAUSE: 1000 FILE-DELETE: "s:\wget\Config\links.old" \ FILE-EXIST: "s:\wget\Config\links.wgt" IF WGDownloadFlag ON THEN ELSE \ Это случай докачки при обрыве WGDownloadFlag ON THEN ELSE WGDownloadFlag ON THEN WGDownloadFlag @ IF START-APP: S:\SocksCap32 V26\Sc32.exe %WgetPath%wget.exe -bc -o %WgetPath%wgcron.out %list-contents COUNT% THEN list-file @ CLOSE-FILE DROP log-file @ CLOSE-FILE DROP )# Логика работы должна быть понятна из комментариев. Замечания и более элегантные решения приветствуються....;) |
Вложений: 1
GrIvA
Цитата:
Это то есть добавляет такой раздел в HKCU\Software\Microsoft\Internet Explorer\MenuExt\ который указывает на %windir%\Web\wtask.htm и кидает в папку %windir%\Web файл wtask.htm. Содержимое файла wtask.htm : <script language="VBScript"> Set fso = CreateObject("Scripting.FileSystemObject") Set fs = fso.OpenTextFile("D:\SOFT\task.txt", 8, true) fs.WriteLine external.menuArguments.event.srcElement.href fs.Close </script> вот и все :) Вместо D:\SOFT\task.txt там будет ессно то, что вы выберете при инсталляции сами. Тут в архиве(4 Кб) два скрипта, один добавляет этот пункт, один все убирает, если не понравится:) В моем случае файл для закачки называется task.txt . При запуске wtask_install.vbs он спросит в какой папке будет храниться task.txt. Так что, если необходимо закачать файл сразу, можно копировать URL в буфер и пользоваться задачей из example.tab, если необходимо отложить на потом, щелкаем правой кнопкой "Add to wget tasklist" и ссылка добавляется без разговоров. А в nnCron для удобства я добавил задачу, чтобы он при изменении файла task.txt делал BEEP :), дабы я в курсе был, что ссылка добавлена. Скрипт инстолла чуть переделал, теперь можно самому выбрать, как будет называться файл, в который будут записываться линки для wget , можно называть как угодно, хоть wget.lst, хоть как. |
:yees:
А как ты решаешь проблему недокачанных файлов, или восстановления при обрыве? Меня больше интересует именно этот момент. :confused: |
Ну обрывы - это меня не сильно волнует, провайдер тьфу-тьфу-тьфу:) нормальный, хоть и диалап, обрывов связи практически не бывает, если (очень редко) такое случается, то дозвониться недолго. Поиграться с увеличением параметров wait= и tries= в файле wgetrc можно завсегда, кому нужно, чтоб wget раньше времени не "соскочил".
А недокачанные файлы - ночью nnCron запускает wget вот таким Макаром: Action: 2 0 DO StartIn: "D:\SOFT" ShowNormal NormalPriority START-APPW: wget.exe -m -awget.log -i task.txt 5000 PAUSE LOOP То есть wget запускается ночью подряд два раза с интервалом в 5 секунд и проверяет на "зеркальность" список файлов в папке D:\SOFT и то, что в файле D:\SOFT\task.txt, все записывает(добавляет) в D:\SOFT\wget.log Параметр -m вообще-то для зеркалирования сайтов теоретически придуман :) , но он и при закачке из списка работает нормально. Первый раз wget проходит по списку и скачивает каждый файл из него, в wget.log пишет: Length: 41,216 [application/zip] 0K -> ........ [100%] 3:29:51 (2.01 KB/s) - `foldnt.zip' saved [41216/41216] По второму разу пробегается очень быстро по всему списку и если все скачалось нормально пишет в wget.log: Length: 41,216 [application/zip] Local file `foldnt.zip' is more recent, not retrieving. Типа такой файл уже есть нефиг его качать:) А если вдруг недокачалось что-то, то он его закачает нормально, в лог напишет: Length: 41,216 [application/zip] The sizes do not match (local 22032), retrieving. В wget в принципе есть параметр -с (возобновление закачки файла), наверно актуально для тех, кто очень большие файлы (iso к примеру) wget-ом выкачивает, но я большие файлы FlashGet-ом качаю, а вот с той мелочевкой, что в течении дня наковырял на закачку у меня и так все работает :dance: |
Вопрос к ГУРУ :
Как в обработчике события проверить нажата или нет клавиша модификатор. В том плане, что скрипт запускается по изменению буфера обмена, нужно, чтобы при нажатой клавише Shift с данными в буфере производились одни действия, а при нажатой Ctrl другие. Или скажите как обьединить два спецификатора Watch* логическим "И". |
Вопрос???
Есть задачка ========================= #( CLASSIC-TASK-#-Monitor_RMK AsLoggedUser VARIABLE UpDateMon? WatchDir: "\\Comp\Shared\Dir" WATCH-CHANGE-LAST-WRITE Action: / Выполнить ========================= В папку Dir могут закидываться любые файлы и папки, а мне нужны только с определенным расшрением и в только в корне Запускать несколько WatchFile: не подходит. Если знаете как модифицировать WatchDir: подскажите и будет мне радость. ))) |
А что мешает просто добавить еще одну проверку на валидность имени файла при срабатывании WatchDir??
|
GrIvA
Внутри Action: У меня цикл FOR-FILES ... ;FOR-FILES он как раз и проверяет файлы с нужным расширением Но по чему то часто бывает так что при закидывании файлов в поддеректорию срабатывает вся задача. :-(( Добавлено через 4 минуты: вот кстати полнапя версия задачи, может ошибки какие найдете или упростить поможете #( CLASSIC-TASK-#-Monitor_RMK AsLoggedUser VARIABLE UpDateMon? WatchDir: "%RMK_FROM%" WATCH-CHANGE-SIZE Action: UpDateMon? OFF FILESONLY SKIPERRORS FOR-FILES: "%RMK_FROM%\*" RE-MATCH: "%FOUND-FILENAME%" "/(dll)|(exe)|(doc)|(txt)$/i" IF FILE-WTIME: "%FOUND-FULLPATH%" FILE-WTIME: "%RMK_TO%\%FOUND-RELPATH%" D= IF ELSE UpDateMon? ON THEN THEN ;FOR-FILES UpDateMon? @ IF / Выполнить THEN )# Также срабатывание происходит при включении компа, который мониторит задача, хотелось бы это исключить. |
:confused:
??? Можно ли как то узнать права залогиневшегося пользователя (win2000/XP) те к какой группе он принадлежит (Administrators/Power Users/Users) |
strauss
nnBackUp не понимает пути сетевые типа \\сетевойкомпутер\диск$\папка1 и т.д. как же так? неужто нуна шарить и мапить фсе папки? |
Пожалуйста помогите кто-нить!!!!!
Пытаюсь запустить вот такой скрипт чтобы автоматически делать резарвную копию моих файлов. Вот сам скрипт: #CRONTAB FILE # Classic crontab format: # Minutes Hours Days Months WeekDays Years Command # see 'example.tab' #( BAckupMusic Time: 28 18 * * 1 * Action: StartIn: "f:\Program Files\nnBackup" ShowNormal NormalPriority START-APP: f:\Program Files\nnBackup\nnBackup.exe sync -i f:\MyMusicz -o j:\Music -s -e -v REMINDER: "Внимание!!!Ничего не трогать,идёт резервное копирование!" )# Всё в принципе запускается, но ничего не сохраняется.Ошибок тут нет, т.к. раньше всё работало исправно. Вот кусок лога после запуска скрипта: 20:02:47 624 TASK: Musicz 20:02:47 624 Start: F:\Program Files\nnBackup\nnbackup.exe sync -i f:\MyMusicz - o j:\Music -s -e -v 20:02:47 624 Start result: 0 Собственно вопрос: Как это дело исправить? |
Warchief
У тебя в задаче простая синхронизация двух каталогов. Если выполняется, а результата не видно, значит два каталога абсолютно идентичны. |
maskman
Так дело как раз в том, что они не идентичные. |
Все прочитал, но так и не понял. nnCron работает как WinService или как простая апликуха должен быть стартован ?
Все, как всегда... сначала напишим а потом увидим. :пьяный: Вопрос снят |
Хелп !! :)
Помогайте народ!! :))
Нужен скрипт для сохранения бекапов (rar). Дано Source: P:\ Destination: C:\Work\CrystalView\BackUPS\ пишу скрипт < -------- Кат фром хере----------------> #CRONTAB FILE # Classic crontab format: # Minutes Hours Days Months WeekDays Years Command # see 'example.tab' #( purge-cron-log Time: 0 12 * * 5 * Action: PURGE-OLD: "log\*.log" 7 )# #( Save_Phobos_backups : write-files NodeValue ASCIIZ> S" C:\Work\CrystalView\BackUPS\Log\changed_files.log" FAPPEND crlf S" C:\Work\CrystalView\BackUPS\Log\changed_files.log" FAPPEND ; VARIABLE list-file CREATE list-contents 258 ALLOT AsLoggedUser Time: 0 2 * * * * Action: FILE-CHANGE: "p:\*.rar" IF ['] write-files FCH-CH-LIST DoList S" C:\Work\CrystalView\BackUPS\Log\changed_files.log" R/O OPEN-FILE-SHARED THROW list-file ! BEGIN list-contents 1+ 255 list-file @ READ-LINE THROW WHILE list-contents C! FILE-COPY: %list-contents COUNT% "C:\Work\CrystalView\BackUPS\Log\" REPEAT DROP list-file @ CLOSE-FILE DROP FILE-DELETE: "C:\Work\CrystalView\BackUPS\Log\changed_files.log" THEN )# < -------- и до хере----------------> получаю ошибку на строке 25. Если я правильно посчитал то это FILE-COPY: Что там криво ? Вроде все по хелпу написано. |
hotdog
Возьми %list-contents COUNT% в своей 25 строчке в кавычки. FILE-COPY: "%list-contents COUNT%" "C:\Work\CrystalView\BackUPS\Log\" |
hotdog и с этим по моему ты перестарался
CREATE list-contents 258 ALLOT больше 256 нельзя. |
maskman Да нее, он эту задачу прямиком из хэлпа взял, где Плагины-time.spf последняя задача. Там 258 стоит в хэлпе. Я у себя на компе ее попробовал после его поста, тоже сначала ошибку выдал на той строчке, а взял в кавычки - все, начал копировать новые файлы нормально.
|
Premium
Согласен, не там посмотрел, наверное. |
Time: 0 3 * * * *
Action: 20000 BalloonTime ! BALLOON: "Âíèìàíèå!" "Ñòàðòîâàëà çàäà÷à %QUOTE%%CUR-TASK-NAME%%QUOTE%" StartIn: "C:\Program Files\nnBackup" SWHide NormalPriority START-APP: C:\Program Files\nnBackup\nnbackup.exe sync -i d:\AppZ -o h:\backup -s -q -p 20000 BalloonTime ! BALLOON: "Âíèìàíèå!" "Îêîí÷èëàñü çàäà÷à çàäà÷à %QUOTE%%CUR-TASK-NAME%%QUOTE%" Так вот, балон высвичивается сразу второй почему то. Хочется чтоб был сначала первый, перед началом задачи, и второй по окончанию. а у меня сразу высвечивается второй. кто знает как и чего сделать? |
KpNemo
START-APPW |
denver
угу.. спасибо .. пока ты ответил я еще раз хелпы перечитал.. просто очень подозрительно быстро ента штука делат синхронизацию гиги инфы. |
Цитата:
Цитата:
|
проблема с nnBackup
тут уже был подобный вопрос, но ответа на него я так и не увидел.
так всё-таки почему nnBackup не сохраняет в сетевые папки при вызове из шедулера? например у меня nnBackup вызывается на серваке стандартным шедулером через АТ с параметром - f daily.ini в это файлике всего одна строка: dump 0 -i d:\users\pub\operators -m *.xls -o "\\netstream\remote\backup" -dn "OpJournal %YYYY%-%MM%-%DD%" -q в результате ничего не бэкапится, а в логе появляется строка типа: Mo 10.May.2004 23:00 ERROR: Source path 'OpJournal 2004-05-10' not exist но в то-же время при запуске вручную всё отлично работает! с чем это может быть связано? |
nnBackup
Доброго...
Подскажыте как с помощью nnBackup сделать backup на ленту... можете поругать \на мыло\ шо в хелпе всё написано, но я ненашел, ткните носом... |
Цитата:
NoDel Time: * * * * * * Action: IDLE: 240 IF / Выключаешь все что тебе нужно. THEN )# |
Цитата:
Нет, не поддерживает. Взято из эхо-конференции посвященной данной программе. |
Уже спрашивал в Ру-борде, ответа не дождался :(...
Господа! Помогите решить проблему с терминальным сервером. Ранее на нем запускался ряд нехитрых скриптов (бэкап, хоткеи и пр.), причем все они выполнялись от имени админа, который работал на нём локально как на рабочей машине (т.е. не открывал как все остальные терминальную сессию). Теперь админ стал таким же "как все" и заходит на сервер удаленно со своей машины. После этого перестали выполняться скрипты. Попытка запускать Крон не сервисом (т.е. с ключом -ns) "оживила" лишь часть скриптов, другая же, связанная с бэкапом по лок.сети теперь ругается на то, что "клиент не обладает требуемыми правами". Это происходит даже если авторизовать каждую задачу от имени админа как в опциях самой задачи, так и в глобальных настройках самого Крона (на вкладке "Авторизация" стоят все галочки). Интересно, что при установке авторизации задачи, нажимая кнопку "Проверить", можно комбинировать сочетания любых пользователей, типов логона - результат один - "Logon не выполнен. Ошибка #1314. Клиент не обладает требуемыми правами". Почему? ОС Win2k Server Rus SP4 + Citrix MetaFrame1.8 + nnCron 1.89. RC6. Сеть с доменами. |
выполнение 2х действий возможно?
У меня вопрос ни как не могу понять как спомошью этой проги можно сделать следующее...
файл скачивается с интернета в определеную папку например зип архив так вот архив надо открыть извлечь файл или файлы и положить обратно в папку а архив удалить |
я решил удалить из стандартной авто загрузки все программы (аська, фаервол и т.д.) и оставить там только nnCron. Посаздовал для каждой проги свои условия, например, при запуске системы запускать фаервол, при запуске системы запускать интернет(условие, что запущен фаервол), при старте запускать аську(условие что запущен интернет)
Вопрос: как мне сделать чтобы nnCron выполнял все эти действия именно в том порядке что мне нужно, тоесть сначала фаервол, потом интернет, потом аську и т.д. иначе если сначала сработает запуск инета, то он не загрузиться так как нету фаервола, отсюда не загрузяться так же почта и аська.... 2) Вопрос номер 2: я создал для каждой программы своё правило, на вкладке дополнительно появился код, могу ли я скопировать все те коды в блокнот, а потом создать одно правило для всех, просто вставив скопированый текст из блокнота? правильно ли это будет с точки зрения синтаксиса, если я из например: Цитата:
Цитата:
Цитата:
|
Цитата:
\ Следишь за появлением файла zip в папке WatchFile: "D:\Download\*.zip" Action: \ Как только он появится запускаешь разархивирование для всех файлов zip в папку с названием этого архива. FOR-FILES: "D:\Download\*.zip" StartIn: "C:\Program Files\WinRAR" ShowNormal NormalPriority START-APPW: "C:\Program Files\WinRAR\WinRAR.exe" x "D:\Temp\%FOUND-FILENAME%" "%FOUND-FULLPATH%" \ Удаляешь файл zip после разархивирования. FILE-DELETE: "%FOUND-FULLPATH%" ;FOR-FILES )# Задача не проверялась, поэтому могут быть некоторые ошибки, например в стадии разархивирования, с ключами (посмотри help к winrar'у). Но надеюсь логику я тебе немного объяснил. gigi |
Antonio
1. Я бы написал все в одной задаче: Запустить файрволл при старте системы; Таймаут (здесь надо будет поиграться с циферками); проверить запущен ли файрвол (PROC-EXIST), если да, то подулючиться к инету. Таймаут (здесь надо будет поиграться с циферками); и так далее. 2. Можно конечно так сделать, я например уже давно не пользуюсь для написания скриптов встроенной GUI - пишу в блокноте. Цитата:
|
Цитата:
Код:
#(run_internetSTART-APP: ... PAUSE: ... ... Цитата:
см. "nnCron Help\Работа с программой\Задача\..." Придется править примерно так: Код:
Time: START-TIME |
nnbackup - как с открытыми на запись файлами себя ведет ???
|
iga
По всей видимости отрицательная ;) Файлы открытые какими-то процессами обычно недоступны другим. |
| Часовой пояс GMT +4, время: 16:21. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.