- Регистрация
- 16.03.2016
- Сообщения
- 1 630
- Благодарностей
- 1 225
- Баллы
- 113
Еще не все пропало!
Восстанавливаем настройки шаблонов ZennoPoster/ZennoDroid
Восстанавливаем настройки шаблонов ZennoPoster/ZennoDroid
Изначально я подавал заявку на две темы, причем, эта была именно «как небольшая полезная статья+шаблон», а основной планировалась другая статья, касающаяся ZennoDroid. Первую статью я уже даже написал, пошел немного переделать шаблон под конкурс и… оказалось, что он не работает. Причем, простые и очевидные решения не помогли быстро починить, а серьезнее разбираться времени уже толком не осталось (да, сам знаю, что затянул с проверкой, в следующий раз учту)… Сперва решил в целом пропустить конкурс, потому как с этой статьей/шаблоном казалось несколько странно участвовать, но пообщался с админами и решил, что пусть будет. В конце концов, может, кому-то пригодится…
Думаю, если не у всех опытных зенноводов, то у многих – точно, случался момент, когда запускаешь ZennoPoster (особенно, если он сам вырубился по какой-либо причине), а там – пусто… И одно дело, когда у тебя там была всего пара-тройка шаблонов, которые быстро можно восстановить, и совсем другое – когда десятки, а то и сотни. Причем, у каждого – свое название, свои настройки и свое расписание. Я столкнулся впервые с подобной ситуацией, когда шаблонов в ZennoPoster было всего около пятидесяти. У меня ушло два дня на то, чтобы вспомнить, что там вообще было добавлено, какие настройки были у каждого шаблона (это на край можно хотя бы экспортировать), но, главное, когда это все должно запускаться (что-то стартовало по своему расписанию, что-то запускалось одно за другим, что-то ждало внешних сигналов). В общем, на восстановление ушло много и времени, и нервов. Причем, не уверен, что я тогда все восстановил, но если что-то с тех пор не понадобилось, значит, и не особо нужно было. В конце концов, расхламляться порой стоит и в ZennoPoster’е ))
Восстановив работоспособность сервера, я полез копать, как можно обезопасить себя от подобных ситуаций, поскольку больше с такими приколами сталкиваться не хотелось.
Так я узнал про волшебный Tasks.dat
Вполне логично, что все настройки ZennoPoster где-то хранятся. Оказалось, в папке
C:\Users\{USERNAME}\AppData\Roaming\ZennoLab\ZennoPoster\{ZennoVersion}*\ZennoPoster\
* {ZennoVersion} – это версия ZennoPoster, в 7ке будет просто «7», в пятерке – 5, в восьмерке, у кого уже стоит ( ), 8
Причем, там есть как файл, в котором находится список шаблонов, которые добавлены в ZennoPoster, так и файл, в котором находятся внутренние настройки всех этих шаблонов.
За список шаблонов отвечает файл Tasks.dat, внутренние настройки самих шаблонов хранятся в файле ZennoBoxUserSettings.xml
Более того, разработчики ZennoPoster сделали удобную вещь – кроме самих файлов настроек там хранятся и некоторые их бэкапы (они имеют числа в названиях).
Т.е., в случае фосмажора можно просто взять любой из бэкапов (вроде логично смотреть на время бэкапа, но размер оказался намного важнее (!) – последние бэкапы уже тоже могут быть "пустыми") и пересохранить его под первоначальным названием. И все станет «как было»…
Видимо, я везучий, потому как буквально через неделю я повторно столкнулся с такой ситуацией (вечером вырубило свет дома, включил комп, а в Zenno опять пусто). Перепроверил несколько раз (мало ли, просто баг при загрузке), нет – не ошибся.
Уверенный, что сейчас все быстро восстановлю (я же уже знаю, как), я полез в папку и очень удивился. Все копии файлов настроек имели тот же размер и были сохранены буквально в течение нескольких последних минут. Т.е., бэкапы есть, но они тоже перезатерлись. До конца я не разобрался, но есть ощущение, что при каждом запуске ZennoPoster или, возможно, при добавлении шаблонов/редактировании настроек. Поэтому, если возникла проблема, лучше закрыть Зенку и больше не запускать, так меньше шансов, что нужные копии перезапишутся.
В этот раз мне повезло: в тот момент, когда я узнал про Tasks.dat, и пока экспериментировал с восстановлением, я сделал себе копию этой папки. Так что, восстановление заняло у меня буквально несколько минут.
Но стало понятно, что бэкапы, которые делает сам ZennoPoster – не панацея. Скорее всего, где-то все это можно задать в настройках самой Зенки (сколько бэкапов хранить, как часто сохранять и т.д.), но доверия ей в этом плане уже особо не было ))
В общем, надо бэкапить самому. Так спокойнее.
Естественно, в сети можно найти десятки, если не сотни способов бэкапа определенной папки на компе по расписанию, но я не стал заморачиваться и просто написал простенький шаблон, который это будет делать. Ну и добавил в ZennoPoster )))
Сперва просто копировал всю папку. Поскольку шаблонов много, и файлы настроек на некоторых машинах весят по несколько мегабайт (а есть еще и созданные самим ZennoPoster’ом копии), в один момент стало понятно, что надо как-то это дело доработать.
Сперва в шаблон добавил дополнительное архивирование папки, потом добавил возможность задавать, сколько последних бэкапов хранить (задачи хранить все и нет, недели-другой – более чем достаточно).
Также добавил возможность как автоматического нахождения папки с настройками (работает и на 5-ке, и на 7-ке), так и ручного указания пути к ней.
Запускаю по расписанию в час ночи. В итоге теперь все выглядит аккуратненько.
Да, мне везет, уже несколько лет у меня не слетают настройки, но лучше пусть у меня будут бэкапы, которые мне не пригодятся, чем их не будет, но они понадобятся. Достаточно всего одного раза, чтобы это понять )))
Сидеть и вот это все вручную перенастраивать – я повешусь (а еще сторонняя работа встанет, поскольку на это многие бизнес-процессы завязаны).
В общем, предлагаю установить правила в нашем Клубе
Первое правило нашего Клуба – рассказывать всем о том, как восстановить настройки шаблонов!
Второе правило нашего Клуба – делать бэкапы, чтобы с первым правилом было проще.
Уже в процессе, когда я готовил эту статью, я подумал, что такую же штуку можно провернуть и с настройками ZennoDroid (который появился у меня благодаря прошлому конкурсу) )))
Поскольку в шаблоне можно указать любую папку, мы можем просто найти папку с настройками Droid’а и указать ее шаблону в ZennoPoster. И пусть бэкапит.
Если что, папка находится по пути:
C:\Users\<USERNAME>\AppData\Roaming\ZennoLab\ZennoDroid\2\ZennoPoster\
Восстанавливаются настройки тем же способом.
Решив, что одним шаблоном я убил сразу двух зайцев, я уже готов был закрывать проект. Но неожиданно понял, что для бэкапа настроек ZennoDroid, в таком случае, надо, чтобы на этой машине также работал и ZennoPoster. Да, уверен, у многих они крутятся параллельно на одной машине. Но далеко не у всех. А держать отдельно лицензию для бэкапа на машине – такое себе )))
И я подумал, что можно написать такой же шаблон и для ZennoDroid, тем более, что там вся работа просто с файлами на компе, все кубики те же.
Лень – двигатель прогресса. Хоть это и кубики, повторять даже такой простой проект заняло бы какое-то количество времени, которого сейчас катастрофически не хватает (основная причина, почему не смог добраться до фикса шаблона к основной статье). Поэтому я решил попробовать одну вещь, используя мой любимый метод – «метод тыка»
В общем, мне повезло, что все подобные проекты я всегда делаю на 5-й версии ZennoPoster. Я просто взял файл шаблона, удалил в нем блок шифрования (в 7ке он не удаляется, поэтому остается привязка к минимальной версии, которая 7.х, а в Droid версия – 2.х, т.е., чисто по цифрам – ниже), сменил расширение файла с .xmlz на .droid и открыл в ProjectMaker для ZennoDroid.
Да, для меня это было неожиданно, потому что я просто попробовал, не надеясь на успех. Такой вот лайфхак неожиданный получился (и в голове уже мысли роятся, что еще из полезного можно быстро перетащить на машину, где крутится ZennoDroid).
Немного подправил, проверил в Дроиде – оно работает. Так что, и на ZennoDroid можно бэкапить все, что нужно. Без дополнительного использования Постера.
В целом, эти шаблоны можно использовать для бэкапов не только настроек ZennoPoster/ZennoDroid. Можно указать любую важную папку, и пусть сохраняет (было же, да, что файлы какие-то рабочие бились? по глазам вижу, что было). На любой машине, на любой диск или куда-нить в облако, если оно подключено в папку на компе. В общем, можно найти и дополнительные варианты применения.
На всякий замечу, что исторически привык к WinRAR, так сложилось. Поэтому во всех проектах использую его. Если кому удобнее WinZip или, например, tar, просто поменяйте ключи на свои. У кого есть необходимость и желание заморочиться, можете добавить кубики заливки файлов на FTP ))
Уверен, большинство форумчан (особенно, те, кто хоть раз столкнулся с «девственно чистой зенкой»), и знают прекрасно, как восстановить настройки (определенно), и давно уже бэкапят их (тут мой жизненный опыт заставляет сомневаться, но я в вас верю). Но судя по тому, что пользователи шаблонов нередко обращаются ко мне с подобной проблемой (а некоторые пользуются Зенкой уже несколько лет), видимо, это не «разовая акция», такое время от времени случается. И никто не застрахован…
Вообще, когда сам впервые узнал про Tasks.dat, был удивлен, что информацию о том, где хранятся настройки, не показывают на главном экране после, допустим, первого запуска ZennoPoster ))) Не факт, что все прочитают внимательно, но где-то на подкорке бы отложилось, и при возникновении проблем хотя бы было бы понимание, что проблема точно как-то решается, надо просто вспомнить/поискать.
Так что, у данной статьи было две задачи. Рассказать о том, как можно восстановить настройки через Tasks.dat (независимо от того, пропало оно само или же вы сами случайно удалили нужные шаблоны или скинули их настройки), тем, кто об этом не знает. И поделиться шаблоном (а получилось, еще и двумя шаблонами – в том числе, и для ZennoDroid) с теми, кто знает, но у кого не доходят руки организовать бэкап этих настроек.
Даже если хотя бы одному человеку они сэкономят время, нервы и пару седых волос, свою миссию посчитаю выполненной
Ну а я пошел чинить шаблон для Droid’а к следующему конкурсу. Надеюсь, успею ))
Вложения
-
35 КБ Просмотры: 17
-
84 КБ Просмотры: 24
Последнее редактирование: