Граф О'Манн (graf_o_mann) wrote,
Граф О'Манн
graf_o_mann

Categories:

Как поймать призрака в консоли

22:06 09.07.2015
console.png

У меня на работе есть несколько серверов, с которых нужно регулярно, лучше ежедневно, делать архивные копии. Я почему-то решил не использовать для этого разные программы вроде Backup32 и Cobian Backup, а написать свой "велосипед". Правда, программист из меня как из подушки ракета, поэтому я написал не то чтобы прям программу, я написал довольно несложный скрипт, cmd-файл, который делает всё, что мне нужно. Даже умеет отправлять на электронную почту письма с результатами своей работы.

И вот с недавних пор один из серверов начал себя вести как-то странно. Сначала он мне присылал три письма о том, что архивация баз завершилась неудачно, на сетевом диске архив не обнаружен. Все три письма были отправлены в одно и то же время, в 3:02. Затем, скажем, в 3:07, 3:15 и 3:28 приходили письма, что всё хорошо. Я всю голову изломал, что же случилось, почему всё работало и вдруг перестало. Ну, не совсем перестало, а стало работать странно. Потому что СНАЧАЛА скрипт должен сделать архивы, а это время, и только ПОСЛЕ проверить наличие архива на сетевом диске. А у меня получалось, что сначала проверка, отправка письма об ошибке, затем архивация, снова проверка и отправка писем, что всё хорошо.

Какое-то время я на это внимания особо не обращал, потому что архивы всё-таки делались, пусть и со странностями. Да и времени свободного на разбирательства, если честно, не хватает. У нас всё бегом-бегом, починили, что совсем уж сломалось, побежали дальше. А тут вроде как работает же. Но вчера всё решил попробовать разобраться, с какого перепуга оно так стало вести себя таким странным образом.

Одним из предположений было, что по непонятной причине запускается два экземпляра скрипта, и из-за этого возникает "конфликт интересов". Это, кстати, не я такой умный, это мне на жулике подсказали. Поэтому я полез в планировщик и перенёс запуск задания с трёх ночи на два часа. С мыслью, что если я не вижу, откуда запускается второй экземпляр, если он есть, то и время его запуска изменить не смогу. Так что, если заданий два, то и писем я получу в два раза больше - и в два часа, и в три.

В общем-то, так и вышло. Двухчасовое задание прислало свои три письма, последовательно, все три письма об успешном завершении. А в 03:02 пришло ОДНОВРЕМЕННО ещё три письма, что... Всё хорошо! И тут я решил посмотреть, а откуда, собственно, письма приходят?

Результат был... Скажем так, неожиданный. Оказывается, второй экземпляр задания запускался совсем на другом сервере, на котором совсем другая база крутится. А скрипт запускался всё тот же, что и на первом сервере. Поэтому он, естественно, ничего не находил, не архивировал и мгновенно отправлял три письма с ошибкой. А "правильный" сервер в это время пыхтел, архивировал данные и, когда всё заканчивал, отправлял свои письма, что всё хорошо. О как!

А получилось всё очень просто. Не так давно открывали мы новый магазин и, чтобы долго не возиться, мой непосредственный начальник просто сделал копию с предыдущего сервера, потом прибил на нём старые базы, создал одну нужную и запустил в работу. А задание в планировщике, и скрипт, им запускаемый, остались прежние! Вот они мне и слали полные отчаяния письма! А я, бестолочь такая, никак не мог их понять :-)

Теперь всё вроде поправил, на втором сервере прописал правильные параметры скрипту. Завтра посмотрю на результат.

оригинал записи в блоге Graf O'Mann



Яндекс.Метрика






Tags: the pizdets, windows, компьютер, программы, работа, техническое
Subscribe

  • Из ада

    16:11 24.01.2021 Не смотреть вниз! Никогда не смотреть вниз! Только вверх, высматривая очередной выступ или трещину, за которые можно зацепиться и…

  • Дом, странный дом

    16:39 20.06.2020 Почему так темно? И тихо. Где я? Не понимаю. Да, и почему так темно, ведь уже должен быть день. А, да, вон окно, в окне свет,…

  • Стихи из моего сна

    12:41 06.06.2020 Приснилось, что я на какой-то шумной вечеринке. Все нарядные, шумные, весёлые. А я в камуфляже и с блокнотом в руках. Отбился ото…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments