Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » nnCron-Планировщик с поддержкой скриптового языка

Модерирует : gyra, Maz

Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

   

8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron
 
nnCron - это компактный, но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы ..
 
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
 
nnCron понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов. Для тех, кто любит работать с GUI есть графическая оболочка из которой можно удалять/добавлять/редактировать и запускать задачи, устанавливать напоминалки, менять настройки программы.  
 
nnCron позволяет использовать в задачах VBScript/JScript, регулярные выражения и расширяется за счет плагинов. Он может быть запущен в качестве службы (сервиса) или как обычное приложение. Обладает средствами удаленного администрирования. Подробнее прочитать о возможностях nnCron вы можете в online-документации.
 
nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.


история изменений - http://www.nncron.ru/forums/viewforum.php?f=11
форум - http://www.nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: http://www.nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:  
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)  
 
документация:  
 
help_ru.zip  (обновляется регулярно) документация nnCron (на русском языке)
faq_ru.zip nnCron FAQ (на русском языке)  
spf_help.zip (130k  20 Nov 2002)  описание основных слов SP-Forth (на русском языке)  
sf.chm (1.5M  03 Feb 2003)  книга Leo Brodie "Начальный курс программирования на языке Форт" (на русском языке)  
 
полезные ссылки:
* » nnBackup - крошечная (250k) консольная утилита, предназначенная для резервного копирования файлов, синхронизации содержимого каталогов, создания и обработки файл-листов.  
* » Cтатья Валерия Кондакова про возможности nnCron  
* » Канал "nnCron releases" для » WatzNew by 8AleX8
* » Файл расцветки синтаксиса исходников языка Форт и кронтабов nnCron для плагина Colorer (Far Manager)
* » Редактор мелодий для beeper'a под nnCron
Если не работает новая, правильно написанная задача, то попробуйте добавить в опции задачи слово AsLoggedUser (галочка в свойствах новой задачи "Как пользователь, выполнивший login") и, возможно, LoadProfile (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа
 

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 23:26 27-04-2002 | Исправлено: lucky_Luk, 18:16 22-09-2007
volodyalipkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышел  
nncron.exe v 1.88 Build 889

Всего записей: 771 | Зарегистр. 12-10-2002 | Отправлено: 04:40 27-02-2003 | Исправлено: volodyalipkin, 04:42 27-02-2003
albel



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
What's new:
1.88 (26.Feb.03)
+ слова ONLYDIR, ONLYNAME для разбиения строки с полным путем и именем файла на путь файла и имя файла
* исправлена ошибка с некорректной записью негативных значений в 'tm.imi' (положение окна на экране)
* исправлена ошибка WatchProcStop
* исправлено отображение версии используемой ОС (Win9*)


----------
Я никогда не спорю. Я никогда не противоречу. Я иногда забываю. / © Б.Дизраэли/

Всего записей: 11003 | Зарегистр. 30-08-2002 | Отправлено: 10:26 27-02-2003
Tim72



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ничего не понимаю... какая такая "Cинтaкcичecкaя oшибкa" в выделенной строке?
Цитата:
#( Stop_spooler
WatchLogoff: "*"
Action:
ShowNormal   NormalPriority
START-APP: C:\WINNT\system32\net.exe stop spooler /y
)#

 
Добавлено
Вариант
Цитата:
#( Stop_spooler  
WatchLogoff
Action:  
ShowNormal   NormalPriority  
START-APP: C:\WINNT\system32\net.exe stop spooler /y  
)#

работает, но в чем проблема с (WatchLogoff: "*")

Всего записей: 2480 | Зарегистр. 16-02-2002 | Отправлено: 19:09 28-02-2003 | Исправлено: Tim72, 19:09 28-02-2003
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tim72
 
Знаешь, трудно судить о том, что у тебя в кронтабе по цитате в форуме.  
WachLogoff: "*", вроде работает корректно.
Есть подозрение, что крон ругается не на Watch* а на строку 'ShowNormal   NormalPriority '. Там между словами "затесался" левый символ. Убери его и перезагрузи кронтаб.
 
Помогло?
 
CU
VK

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 20:36 28-02-2003
Tim72



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
strauss
Не помогло... даже удаление всей строки "ShowNormal   NormalPriority"..
 
странно, ведь вариант :
Цитата:
#( Stop_spooler  
WatchLogoff  
Action:  
ShowNormal   NormalPriority  
START-APP: C:\WINNT\system32\net.exe stop spooler /y  
)#

работает, но после того как я  добавляю  (: "*")
появляется сообщение "Cинтaкcичecкaя oшибкa"...
Тоже самое просходит и с WatchLogon: "*"
 
...оставил только эту одну задачу...
...создал задачу в GUI...
ни чего не понимаю...
 
 
Добавлено
strauss
спасибо за участие и замечательную программу
проблема решилась переустановкой:
uninstall -> перезагрузка -> install
переустановки "поверх" не помогали...

Всего записей: 2480 | Зарегистр. 16-02-2002 | Отправлено: 21:14 28-02-2003
albel



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
03.03.2003 опубликован nnCron LITE 1.11
download
nnCron LITE - это крошечный, но, вместе с тем, полнофункциональный планировщик. С его помощью можно в указанное время и с заданной периодичностью запускать любые процессы. nnCron LITE вобрал в себя все лучшее из известного в мире UNIX планировщика cron.
Вот основные достоинства nnCron LITE:
    * может быть запущен в качестве службы (сервиса) или как обычное приложение
    * понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов, формат которых совместим с форматом кронтаб-файлов Unix-систем
    * умеет задавать и использовать переменные окружения (environment variables)
    * умеет запускать процессы от имени текущего авторизованного пользователя (WinNT/2000/XP)
    * позволяет запускать плагины (скрипты произвольной сложности), написанные на языке программирования Форт
    * гибко настраивается под конкретные нужды пользователя
    * не требователен к ресурсам компьютера. Он будет работать даже на очень слабых машинах, не оказывая отрицательного влияния на производительность. Нам никогла не приходилось видеть, чтобы сервис nnCron LITE занял в оперативной памяти больше 150k.
nnCron LITE это "младший брат" мощнейшего планировщика/скриптера/менеджера автоматизации nnCron.

nnCron LITE распространяется бесплатно!
Изменения:
+ В дистрибутив программы включена подробная справочная система на английском
языке (переводчик - Валерий Сивоконь: http://translations.nm.ru/, документация
на русском языке уже входит в состав дистрибутива)
* отображение номера сборки nnCron LITE по ключу -v
* косметические исправления



----------
Я никогда не спорю. Я никогда не противоречу. Я иногда забываю. / © Б.Дизраэли/

Всего записей: 11003 | Зарегистр. 30-08-2002 | Отправлено: 15:16 06-03-2003
sndv

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые! Не подскажете решения проблемы: сделал задачу в nnCron по запуску OutlookExpress в WinXP. При запуске задачи, OutlookExpress запускается, но с установками Administratora. При изменении настроек в разделе "Авторизация" выделил checkbox "Запускать все задачи от имени пользователя" ввел свои login и пароль, при запуске задачи отобразилось окно  OutlookExpress частично видно, частично нет. Тоже самое происходит и с InternetExplorer.

Всего записей: 160 | Зарегистр. 13-02-2003 | Отправлено: 11:58 11-03-2003
griin



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Использую такой скрипт:

Код:
 
DIR-CREATE: "C:\xxx\archive\%YYYY%\%DD%.%MM%.%YYYY%"
FOR-FILES: "C:\xxx\*.*"
   IS-DIR?
   IF
   MSG: "%FOUND-FULLPATH% - this is a dir"
   ELSE
   FILE-COPY: "%FOUND-FULLPATH%" "C:\xxx\archive\%YYYY%\%DD%.%MM%.%YYYY%\%FOUND-FILENAME%"
   MSG: "%FOUND-FULLPATH% - file was copy"  
   THEN
;FOR-FILES  
 
GetLastError
   IF MSG: "FILE-COPY error: %GetLastError%" THEN
 

 
Нормально копирует файлы, директории не копирует, что и должно быть, но всегда выдает сообщение "FILE-COPY error: 18"... Понятное дело, если убрать 2 последние строки, то и ошибки не будет, но непонятно, что это за еррор 18... И вообще можно где-нибудь посмотреть описание всех ошибок?
 
ЗЫ... А как делать комментарии к программе? Пробовал символы # и //, но вроде тект не комментируется...

Всего записей: 567 | Зарегистр. 03-01-2003 | Отправлено: 15:45 11-03-2003
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sndv
 
Для корректной работы этих программ надо подгружать пользовательский профиль 'LoadProfile').
 
 
griin
 
http://www.nncron.ru/download_ru.shtml
 
Скачиваешь и читаешь ФАК и русские доки (если английские читать влом).
 
CU
VK

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 17:39 11-03-2003
griin



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
strauss

Цитата:
Скачиваешь и читаешь ФАК и русские доки (если английские читать влом).  

Перечитал доки... Про коды ошибок ничего не нашел, а комментарий "#" работает только в "классическом" режиме, а если пытаться комментировать внутри #( )# вываливаются ошибки...

Всего записей: 567 | Зарегистр. 03-01-2003 | Отправлено: 22:47 11-03-2003
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
griin
 
Доки - работа с программой - расширенный режим (синтаксис):
 

Цитата:
 
В любом месте внутри каждой задачи можно использовать специальный знак комментария до конца строки, который принят в языке Форт: \ (обратный слэш). Не забывайте ставить пробел и после знака комментария, поскольку знак комментария тоже является ключевым словом nnCron.  
 
Символ комментария классического режима (#) не действует в расширенном режиме!
 

 
ФАК:
 

Цитата:
 
Q: Можно расшифровать номера ошибок в логах, 'nncron.out' и на форт-консоли?
 
A: Чтобы консольные ошибки выводились в удобном для пользователя виде, а не в
   виде цифровых кодов (5, 2003, FILE ERROR # 3 и т. д.), скачайте и
   разархивируйте в каталог nnCron следующий файл:
   http://www.nncron.ru/download/spf_err.rar (~24k). Описание ошибок из
   логов и 'nncron.out' можно найти в этом же файле (по номеру ошибки).
 
 

 
А говорят, что мы - самая читающая нация...  
Похоже, врут...
 
CU
VK

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 23:04 11-03-2003
sndv

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемый strauss, сделал так как ты сказал, а именно отметил checkbox-LoadProfile. Программы запустились нормально. Однако после перезагрузки, все опять перестало запускаться. Может дело в операционной системе, а не в программе?

Всего записей: 160 | Зарегистр. 13-02-2003 | Отправлено: 09:44 12-03-2003
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sndv
 
Сейчас на твой вопрос ответить нельзя - надо посмотреть, что у тебя в кронтабе. Но, скорее всего, не в системе: просто какая-то ошибка вкралась в звдачу.
 
Сначала изучи логи и nncron.out - может, там есть ошибки. Потом открой свой кронтаб в текстовом редакторе и посмотри, что в задаче.
 
Если разобраться не сможешь - опубликуй, подумаем вместе.
 
CU
VK

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 11:35 12-03-2003
sndv

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемый strauss! Проблему решил. Оказывается в моем случае(установки для "авторизации" - по умолчанию), необходимо было выделить checkbox "AsLoggedUser", а не checkbox "LoadProfile". Это открытие я сделал, прочитав внимательно help!!! А вам strauss большое спасибо за то, что указал направление поиска.    

Всего записей: 160 | Зарегистр. 13-02-2003 | Отправлено: 15:18 13-03-2003
griin



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Боюсь, что опять туплю, но все же... Вот кусок кода, который должен узнавать сколько дней в текущем месяце:

Код:
 
#( month
VARIABLE days_in_this_month
Action:
%MM%
CASE
01 OF 31 days_in_this_month ! ENDOF
02 OF 28 days_in_this_month ! ENDOF
03 OF 31 days_in_this_month ! ENDOF
04 OF 30 days_in_this_month ! ENDOF
05 OF 31 days_in_this_month ! ENDOF
06 OF 30 days_in_this_month ! ENDOF
07 OF 31 days_in_this_month ! ENDOF
08 OF 31 days_in_this_month ! ENDOF
09 OF 30 days_in_this_month ! ENDOF
10 OF 31 days_in_this_month ! ENDOF
11 OF 30 days_in_this_month ! ENDOF
12 OF 31 days_in_this_month ! ENDOF
DUP OF MSG: "Sorry, internal error" ENDOF
ENDCASE
MSG: "In this month %days_in_this_month @% days"
 
)#
 

 
Этот код не работает, но если вместо %MM% поставиьт конкретное число, 10 например, то скрипт нормально заработает... Что же получается, что эту переменную нельзя использовать для таких целей?..
 
Добавлено
Всё, разобрался... MonLength меня спас... Но все-таки интересно, почему, если с помощью этой переменной генерировать имя папки,, то все работает нормально, а если применять ее так как применил я- нет...
 
Добавлено
Блин:(( не спас... Чего-то я не понял как этой штукой пользоваться... Никто не подскажет, как некоторой переменной присвоить значение, сгенерированное MonLength?
 
Добавлено
Все, справился, вот как сделал:

Код:
 
#( month
VARIABLE days_in_this_month
Action:
 
 Year@ Mon@ MonLength days_in_this_month !
 MSG: "%days_in_this_month @%"
)#
 

 
Добавлено
И все-таки опять пробемы... Мне нужно чтобы скрипт выполнялся последнего числа каждого месяца... Как это сделать? Пробовал до поля Action делать:
Year@ Mon@ MonLength VALUE days_in_this_month
, но при этом, если выводить переменную days_in_this_month, то она- пустая... может есть какие-то стандартные средства для этой операции (выполнение скрипта последним числом месяца)?..  
 
Добавлено
:)) разобрался:))

Всего записей: 567 | Зарегистр. 03-01-2003 | Отправлено: 16:15 13-03-2003
axxx

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
strauss
 
imho пока не соответствует действительности "заявление"
"nnCron умеет: ...."будить" компьютер, чтобы запустить задачу "
 
У меня MB ACORP 7KTA3 (VIA KT133A), WINDOWS XP HOME SP1 RUS ,
Nncron v 1.88 Build 889 26.02.2003 ,
в bios установлено S3(STR)
 
Из suspend (ждущий режим в терминологии русской windows)  
nncron не будит ,хотя windows-планировщик ,если отметить  
"Paзбудить кoмпьютep для зaпуcкa этoгo зaдaния." будит .
 
Такой кронтаб не будит
 
#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
)#
 
#( flashget
AsLoggedUser
Time: 0 2 * * * *
Action:
WakeAt: 01:55
StartIn: "D:\Program Files\FlashGet"  
ShowNormal   NormalPriority
START-APP: D:\Program Files\FlashGet\flashget.exe
)#
 
 
Из Hibernate (спящий режим) также не будит ,но это imho  
закономерно ибо для этого нужно запрограмировать
RTC ALARM таймер в bios ,что imho невозможно не имея  
базы данных по системным платам , так как адреса и формат  
данных CMOS ,где хранятся эти значения не стандартизованы .
imho единственно возможным способом пробуждение  
реализовано например в программе BYALARM  
http://alenza.hotmail.ru/byalarm.htm
 
PS Чертов XPишный планировщик не запускает приложения
 если user имеет пустой пароль .
 

Всего записей: 43 | Зарегистр. 29-05-2002 | Отправлено: 07:46 18-03-2003 | Исправлено: axxx, 08:01 18-03-2003
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
axxx
 

Цитата:
 
Такой кронтаб не будит  
 #( flashget  
AsLoggedUser  
Time: 0 2 * * * *  
Action:  
WakeAt: 01:55  
StartIn: "D:\Program Files\FlashGet"  
ShowNormal   NormalPriority  
START-APP: D:\Program Files\FlashGet\flashget.exe  
)#  
 

 
Он и не должен. Ты же не "взвел" таймер. Задача, которую ты привел, запустилась в 2:00 и взвела таймер на 1:55.
Ничего странного не замечаешь?
 
Доки, они рулез...
 
CU
VK

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 19:46 18-03-2003
axxx

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#strauss
 
Был не прав : из "ждущего режима" в терминологии русской windows XP
такой кронтаб разбудил ,я слабо изучил доку и возможно
путаюсь в терминах режимов  электропитания .
 
#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
)#
 
#( another_wakeup_task
\ таймер взводится в момент ухода компьютера в режим 'hibernate'
WatchSuspend
Action:
\ компьютер "проснется" в 10:57
WakeAt: 10:57
\ сообщение будет выведено после "пробуждения" компьютера
TMSG: "I'm ready!" 20
)
 
 
Из доки :
 
WatchShutdown - при попытке выключить компьютер.
WatchSuspend - при переведении компьютера в режим "хибернейт".
WatchStandby - при переведении компьютера в режим пониженного энергопотребления.
WatchQuerySuspend - в момент опроса приложений перед переведенем компьютера в режим "хибернейт"
WatchQueryStandby - в момент опроса приложений перед переведенем компьютера в режим пониженного энергопотребления.
WatchBatteryLow - при получении сообщения от системы о низком уровне зарядки аккумуляторов
 
 
imho :suspend переводится "приостановить" он же ждущий
Shutdown и Standby - один черт
 
Не понятно мне пока лишь как nncron запустить программу в заданный день
и время и при этом "Paзбудить кoмпьютep для зaпуcкa этoгo зaдaния." если
в WakeAt не входит дата ?  
 
Но из "спящего режима" в терминологии русской windows XP (это "хибернейт" однозначно), (он же аналогичен Shutdown режиму ATX блока питания)
nncron не разбудит см. про RTC ALARM BIOS ?
 
С терминами режимов  электропитания разберусь и позже напишу.
 
 
 

Всего записей: 43 | Зарегистр. 29-05-2002 | Отправлено: 07:55 19-03-2003
strauss

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
axxx
 

Цитата:
 
Не понятно мне пока лишь как nncron запустить программу в заданный день  
и время и при этом "Paзбудить кoмпьютep для зaпуcкa этoгo зaдaния." если  
в WakeAt не входит дата ?  
 

 
Используй 'WakeAfter:'.
 
Например, что бы разбудить компьютер через двое суток после взведения таймера:
 

Код:
 
WakeAfter: 48:00
 

 
CU
VK

Всего записей: 148 | Зарегистр. 19-06-2002 | Отправлено: 11:43 19-03-2003
griin



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня 2 вопроса:
1. Можно ли в FOR-FILES использовать в качестве маски регулярные выражения? И если да, то как? У меня ничего не получилось... Вот что я делал:

Код:
 
FOR-FILES: "%path_to_dir%\/slovo\d\d\d\d\.ext/i"
 

Пробовал и так:

Код:
 
FOR-FILES: "%path_to_dir%\%/slovo\d\d\d\d\.ext/i%"
 

В расчете на то, что выберутся файлы вида "slovo1111.ext", "slovo2103.ext" итп... но так цикл вообще не работает...
 
2. Как заставить компьютер перейти в ждущий режим? Я нашел как его разбудить, но вот как усыпить- нет...

Всего записей: 567 | Зарегистр. 03-01-2003 | Отправлено: 10:23 21-03-2003
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » nnCron-Планировщик с поддержкой скриптового языка
Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru