Категория: Сисадминство

BAT-файл: разные действия в зависимости от времени запуска

Недавно столкнулся с небольшим кейсом по автоматизации, если не вдаваясь в детали, то заказчик хочет чтобы один и тот же сценарный файл (BAT) выполнял разные действия в зависимости от того, в какой временной промежуток он запущен. Предположим, что временные интервалы у нас 21:00-9:00 (условно ночь) и 9:00-21:00 (условно день). Как известно, в bat-файлах оператора OR нет, но вместо этого можно сделать конструкцию из двух IF таким образом, что по результатам условий (которые просто можно перечислить построчно) мы присвоим булево значение некоему флагу, а потом, в зависимости от значения флага, перейдем через GOTO на разные секции и выполним разные действия.

ЧИТАТЬ ДАЛЕЕ


Кастомная микросборка WinXP

Несмотря на то, что прошло уже более 20 лет, мне все еще нравится Windows XP. Нравится её быстродействие, нравится отсутствие всяких дурацких ограничений (вроде невозможности в старших сборках Windows 10/11 указать в файле hosts адреса серверов MS куда отправляется телеметрия) и многие другие вещи. Конечно, использовать Windows XP на современном железе — дело по многим причинам сомнительное, однако я частенько с удовольствием создаю виртуальные машины под управлением Windows XP для различного рода проектов — а в качестве установочного образа использую специальную самопальную сборку. Нет, это не какой-нибудь ZverCD, где стараниями какого-то «сборщика Васяна» стабильность работы отсутствует по умолчанию, а количество «интегрированного» софта превышает все мыслимые пределы; отнюдь, я хочу показать крайне минималистичный образ из которого вырезано практически все.

ЧИТАТЬ ДАЛЕЕ


Получение пароля архива бэкапа Bitrix

Во многих организациях использующих лицензионный Битрикс настроено автоматическое резервирование Битрикса в «облако». Как правило, когда встает вопрос о миграции, никто не в курсе, какой пароль выставлен на архив резервной копии. Если есть доступ в админку Битрикса, тогда все просто. Переходим в раздел «Настройки», вкладка «Инструменты», далее — «Командная PHP-строка». В неё помещаем следующий скрипт для выполнения на сервере:

require($_SERVER[″DOCUMENT_ROOT″].″/bitrix/modules/main/classes/general/backup.php″);
var_dump(CPasswordStorage::Get(‘dump_temporary_cache’));

После выполнения будет возвращена строка с искомым паролем.
А еще лучше — не используйте Битрикс вовсе.


Снятие дампа базы MySQL и импорт

В очередной раз напоминаю себе, что снятие дампа базы MySQL с сервера под управлением Linux делается так:

mysqldump -v -h127.0.0.1 -uroot -p dbname > /tmp/dbname_dump.sql

И импорт на сервер, под управлением Windows, делается так:

С:\MySQL\bin\mysql.exe -u root -p dbname < T:\dbname_dump.sql


Таймаут в файлах сценариев командной строки

Эта микрозаметка повествует о том, что достаточно часто я продолжаю натыкаться на использование конструкции ping localhost в целях обеспечения задержки между командами в bat-файле, но для этих же целей и даже чуть больше (когда нужно сделать задержку более четырех условных секунд, то иной раз городят несколько пингов подряд) можно и нужно использовать команду timeout X, где X — это время задержки в секундах.


Ошибка загрузки grphcs в веб-клиенте 1С

После проведения миграции 1С с одного сервера на другой в веб-клиенте стала появляться ошибка:

Ошибка загрузки компоненты grphcs: 127 (0x0000007F): Не найдена указанная процедура.

На новом сервере, равно как и на прежнем, установлен веб-сервер Apache, но если раньше 1С существовал в гордом одиночестве, то ныне делит площадку еще с некоторыми веб-ресурсами, часть из которых функционирует на движке WordPress. Согласно официальным рекомендациям, для WordPress было подключено расширение веб-сервера — imagick, наличие которого приводит к ошибке работы веб-клиента 1С. Если подходить к вопросу наиболее грамотно, то нужно, конечно, разделять инстансы; в нашем же случае отсутствие imagick не критично — я просто отключаю это расширение, закомментировав соответствующую строку в php.ini:

#extension=imagick

Перезапустив веб-сервер убеждаемся, что работа веб-клиента 1С восстановлена.


Перезагрузка Debian по раписанию

Недавно знакомый обратился с проблемой — один из его серверов на Debian периодически подвисает, причем так, что через ssh не зайти до осуществления перезагрузки. В логах ничего интересного нет, как по мне — проблема может иметь вовсе аппаратный характер происхождения. Но допытываться в чем именно дело он не захотел, а просто попросил настроить автоматическую перезагрузку сервера каждый день, мотивируя, что раз перезагрузка помогает, то почему бы этот костыль не засунуть в автозапуск. И, пусть я считаю это не совсем корректным, помочь с автоматической перезагрузкой мне не сложно.

ЧИТАТЬ ДАЛЕЕ