ZennoApocalypse или восстание зенки из мертвых

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113
Привет всем.
Сегодня расскажу как я решил вопрос с падением зенки.
Эта статья будет полезна людям, которые имеют сервера, на которых работает и периодически падает зенка или перезагружается сервак.
И так все банально и просто, как оказалось, любой запилит данный хак.

Что нам надо.
  1. *.bat файл
  2. планировщик задач
  3. телеграм
  4. позитивное настроение )
Создаем батник, и называем его как хотим. Например ZennoStart.bat
В него вписываем этот код (спасибо этой теме)
Код немного урезан за ненадобностью остального

Код:
@echo off

SETLOCAL EnableExtensions
set EXE=ZennoPoster.exe
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto FOUND
echo Not running
:: Указываем полный путь к файлу Zennoposter.exe
start "" "C:\Program Files (x86)\ZennoLab\RU\ZennoPoster Pro\5.16.2.0\Progs\ZennoPoster.exe"
wget "https://api.telegram.org/СЮДА ПИШЕМ API ВАШЕГО БОТА и не забываем в начало строки написать bot/sendMessage?chat_id=СЮДА МЫ ПИШЕМ ЧАТ ID&text=Сюда мы пишем текст который бует приходить" --no-check-certificate
exit 0
:FOUND
echo Running
Как получить api бота - гуглите, на этот счет огромная куча видосов на ютубе.
Как получить чат id я писал здесь - http://zennolab.com/discussion/threads/otlov-oshibok-shablona-s-momentalnym-opovescheniem-v-telegram.46438/#post-344353

далее качаем wget, без этого отправка в телегу будет невозможна!
Качаем от сюда - http://gnuwin32.sourceforge.net/packages/wget.htm (первая ссылка на скачку - http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe )
Устанавливаем.

Итак по полочкам!

Как работает код.
  • батник проверяет запущена ли зенка в процессах, если ДА то батник ничего не делает, если НЕТ, то батник запускает зенку и отправляет сообщение в телегу.
  • обязательно проверьте все полные пути к файлу зенки, они могут отличаться изза версий
  • В этой же теме вы найдете как настроить диспетчер задач - http://zennolab.com/discussion/threads/avtomaticheskaja-reanimacija-zennoposter-posle-padenija-ili-zdravstvuj-zdorovyj-son.16934/
я настроил на каждые 5 мин проверки.

PS| Выражаю благодарность
@ZennoScript за саму статью и основную часть
@ZTS за помощь в настройке батника и отлове багов
Ну и себе любимому за инициативу и разбор полетов с телегой :D

Берите пример, друзья, делитесь полезностями, делайте апгрейды старых тем.
Всем Бобра )
 

Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

faraon2006

Client
Регистрация
17.09.2013
Сообщения
68
Благодарностей
29
Баллы
18
Что то у меня на десятке не отправляется сообщение в телегу.
Мой бот рабочий, с апи и айди все в порядке- из проектов шлет сообщения.
Батник запускает ZP если он отключен, а телега молчит. Подскажите, где поковырять.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113

faraon2006

Client
Регистрация
17.09.2013
Сообщения
68
Благодарностей
29
Баллы
18
ну да, конечно
2018-04-06_161111.png
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113
запусти в коммандной строке в "cmd" строчку для телеги, будет написано по идее что за ошибка
 

faraon2006

Client
Регистрация
17.09.2013
Сообщения
68
Благодарностей
29
Баллы
18
пишет:
"wget" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
 

faraon2006

Client
Регистрация
17.09.2013
Сообщения
68
Благодарностей
29
Баллы
18
  • Спасибо
Реакции: backoff

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43
Батник запускает ZP если он отключен, а телега молчит. Подскажите, где поковырять.
api.telegram.org тоже заблочен ркном, надо слать через прокси (можно паблик не-ру) и чекать в ответе успешную доставку, тогда норм приходит
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113
у меня сервак в гермашке, так что пофиг :-)
стабильно оповещения работают
+ купил прокси для телеги за 35р/мес ваще айс
 

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43

Vasya968

Client
Регистрация
07.06.2018
Сообщения
21
Благодарностей
1
Баллы
3
что должно быть установленно на ПК, чтобы работала версия 5.17?
У меня раньше была версия 5.15., она работает прекрасно и сейчас. А новая версия выдаёт ошибку при попытке загрузить настройки любого проекта. Проверено на ПК, на ноутбуке и на выделенном сервере. Везде одно и то же.
 

dengivseti

Client
Регистрация
18.08.2016
Сообщения
39
Благодарностей
3
Баллы
8
А если падает сервак из-за зенки и сам не перезагружается, как быть? Наоборот каждые 5 минут слать оповещение, что сервак работает? xD
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
  • Спасибо
Реакции: backoff

dengivseti

Client
Регистрация
18.08.2016
Сообщения
39
Благодарностей
3
Баллы
8
Что значит падает из за зенки?
Да хз, при выполнении одного шаблона периодически сервак перезагружается. Но там он с несколькими тысячами сайтов работает, предполагаю, что из-за каких то определенных сервак падает =(
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113
ну он наверно в цикле работает, перегружает память и естественно ребутится
сделай на профилях и с перезагрузкой инстанста
 

dengivseti

Client
Регистрация
18.08.2016
Сообщения
39
Благодарностей
3
Баллы
8
ну он наверно в цикле работает, перегружает память и естественно ребутится
сделай на профилях и с перезагрузкой инстанста
не первый год шаблоны пишу =) правда уже в питон ушел. зенку юзаю только там где работа через инстансы нужна. ибо селениум похуже оптимизирован чем зенка, да и возни больше.

А шаб без циклов, память на 70 процентов загружает ее утечки нет.
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
Не нужны никакие батники, достаточно просто взять нижеприведенный код, скомпилировать в IDE, закинуть в папку с exe файлом зеннопостера и запустить
Код:
class Program
    {
        [DllImport("user32.dll")]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

        [DllImport("user32.dll")]
        static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

        static void Main(string[] args)
        {
            Console.Title = "capcap";

            IntPtr hWnd = FindWindow(null, "capcap"); //put your console window caption here
            if (hWnd != IntPtr.Zero)
            {
                //Hide the window
                ShowWindow(hWnd, 0); // 0 = SW_HIDE
            }

            Run().Wait();
        }

        public static async Task Run()
        {
            while (true)
            {
                await Task.Delay(60000);
                if (!Process.GetProcesses(".").Any(x => string.Compare(x.ProcessName, "zennoposter", StringComparison.OrdinalIgnoreCase) == 0 || string.Compare(x.ProcessName, "zennobox", StringComparison.OrdinalIgnoreCase) == 0))
                    Process.Start(File.Exists("ZennoPoster.exe") ? @"ZennoPoster.exe" : @"ZennoBox.exe");
            }
        }
    }
 
  • Спасибо
Реакции: AZANIR и Lanidor

LeonidV

Client
Регистрация
01.04.2016
Сообщения
23
Благодарностей
2
Баллы
3
А не подскажите где можно посмотреть как скомпилировать в IDЕ
 

AZANIR

Client
Регистрация
09.06.2014
Сообщения
405
Благодарностей
199
Баллы
43
там нечего компилировать , но нужно чтоб после падения и рестарта сервера запускался и этот файл понимаю его добавить в автозагрузку , но заметил если файл запустить как его убить в процессах ? , поэтому в планировщике батник самое то + он мне шлет уведомление на телегу.
 

wellgo

Client
Регистрация
05.02.2019
Сообщения
10
Благодарностей
0
Баллы
1
Спасибо! Получилось, но долго бодался с wget.

Не хотело работать с установщиком wget, который дал топикстартер.

Вот эта инструкция сработала:
https://www.poftut.com/download-install-wget-windows/

Качал Download From Eternallybored - 64 Bit Binary - https://eternallybored.org/misc/wget/releases/wget-1.19.1-win64.zip
Ну и потом в windows перменной дополнил Path.

В cmd все еще пишет:
"wget" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Но по факту работает.
 

wellgo

Client
Регистрация
05.02.2019
Сообщения
10
Благодарностей
0
Баллы
1
Подскажите, как можно дополнить код батника, чтобы он еще создавал файл в определенной папке?

Хочу чтобы после падения Зенки батник создавал файл, а проект в ЗП стартовал по сигналу появления этого файла.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 438
Благодарностей
9 133
Баллы
113
Подскажите, как можно дополнить код батника, чтобы он еще создавал файл в определенной папке?

Хочу чтобы после падения Зенки батник создавал файл, а проект в ЗП стартовал по сигналу появления этого файла.
Код:
Echo Привет> myfile.txt
 
  • Спасибо
Реакции: AZANIR и wellgo

indigo666

Client
Регистрация
10.05.2014
Сообщения
1 154
Благодарностей
374
Баллы
83
А не подскажете как сделать все тоже самое только без телеги? ) Чтоб батник просто проверил, запущена ли зенка, или нет и если нет, то запустил? )
 

indigo666

Client
Регистрация
10.05.2014
Сообщения
1 154
Благодарностей
374
Баллы
83

indigo666

Client
Регистрация
10.05.2014
Сообщения
1 154
Благодарностей
374
Баллы
83
В общем удалил вгет из батника, запустил батник, вроде бы норм, пытается запустить зенку, но спрашивает разрешения администратора.

Как этот момент обойти и как можно поставить, чтоб батник по таймеру запускался на серваке?
 

Вложения

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113
все тоже самое только без телеги?
Код:
@echo off
SETLOCAL EnableExtensions
set EXE=ZennoPoster.exe
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto FOUND
echo Not running
:: Указываем полный путь к файлу Zennoposter.exe
start "" "C:\Program Files (x86)\ZennoLab\RU\ZennoPoster Pro\5.16.2.0\Progs\ZennoPoster.exe"
exit 0
:FOUND
echo Running
но спрашивает разрешения администратора
ну конечно надо по админом быть

А как можно это настроить, не подскажете?
ну простым поиском не судьба?

https://www.youtube.com/results?search_query=как+настроить+диспетчер+задач+на+windows+10
 
  • Спасибо
Реакции: Rina2028 и indigo666

indigo666

Client
Регистрация
10.05.2014
Сообщения
1 154
Благодарностей
374
Баллы
83
ну конечно надо по админом быть
То есть поменять права юзера на админа? Вроде бы один юзер зареган. Не совсем понял как это делать.
ну простым поиском не судьба?
Спасибо ))) ищу вот пока не нашел то что искал
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113
То есть поменять права юзера на админа?
у пользователя должны быть админские права, ну (не уверен можно ли так, вроде можно) добавить запуск программы в исключение, чтоб не появлялась эта табличка
 
  • Спасибо
Реакции: indigo666

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113
  • Спасибо
Реакции: indigo666

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)