ВКонтакте — скачиваем все треки группы, переименовываем файлы и генерируем ID3-тэги

Появилось желание записать на флэшку всю музыку из группы ВК, при этом, выставив файлам правильные имена, ID3-тэги и подгрузив обложки альбомов.

Первым делом используем бесплатную программу VKMusic: копируем URL группы ВК, из которой будем выкачивать трэки, и вставляем в поле поиска в программе. По нажатию клавиши Enter, программа выдаст список трэков искомой группы. Нажимаем кнопку скачать всё, указываем название папки для загружаемых файлов и ждём окончания загрузки.
Внимание: данная программа запрашивает логин и пароль от учётной записи ВКонтакте! Конфиденциальность этих данных не гарантирована, поэтому рекомендую сразу после окончания использования программы, изменить пароль учётной записи.

Так как ID3-тэг исполнителя содержал ссылку на группу ВК, то и скачанные файлы содержали эту ссылку в названии (не смотря на отключенный чекбокс использовать исполнителя в названии файла в настройках VKMusic). Для массового переименования файлов, хорошо подойдёт бесплатная программа Advanced Renamer. В окне программы нажимаем ДобавитьПапки → указываем папку с музыкальными файлами. После чего нажимаем кнопку Добавить методОбрезка → в поле Обрезать символы вводим шаблон, который будет отрезан в именах файлов. При этом, в добавленном списке файлов, в столбце Новое имя файла, можно наблюдать результат обрезки. Если результат устраивает, нажимаем кнопку Запустить.

Теперь из названия переименованных файлов можно сформировать ID3-тэги. Для этого подойдёт бесплатная версия программы mp3Tag Pro. В окне программы указываем каталог с музыкальными файлами. После этого, выделив все файлы в окне программы, нажимаем ФайлГенерировать тэги по именам файлов. В открывшемся окне указываем формат, обычно подходит %A — %T (установлен по умолчанию). Если результат заполнения полей в окне программы устраивает, жмём кнопку Генерировать.

Тем, кто желает заполнить остальные ID3-тэги и/или подгрузить из интернета обложку, подойдёт бесплатная программа TagScanner: нажимаем кнопку Выбрать папку и указываем путь к музыкальным файлам. Затем переходим в программе на закладку онлайн, где в поисковой строке можно из выпадающего меню выбрать формат запроса к онлайн базе Discogs. Для выполнения запросов к базе, необходимо создать учётную запись на её сайте и, при выполнении запроса из TagScanner, дать доступ, путём формирования кода, который будет введён в программе.

Windows — удаление раздела восстановления

При очистке диска в оснастке управления дисками, не удаётся удалить раздел восстановления диска.
hdd
Для того, чтобы удалить этот том в Windows, без использования сторонних программ, необходимо запустить командную строку от имени администратора (Пуск → ввести в поисковую строку cmd → нажать ПКМ на результате поиска → выбрать пункт Запуск от имени администратора) и ввести следующие команды (после ввода каждой команды необходимо нажать клавишу Enter):
запустить редактор дисковых разделов

diskpart

получить список дисков (или посмотреть в оснастке управления дисками)

list disk

выбрать диск, на котором находится раздел восстановления

select disk номер_диска

получить список разделов

list partition

выбрать раздел восстановления

select partition номер_раздела

удалить его

delete partition override

Батарея ноутбука подключена, но не заряжается

На ноутбуке, при подключенном блоке питания, в Windows отображается статус питания «подключена, не заряжается».

Если аккумулятор был полностью разряжен (что в частности случается, когда отключённый от сети ноутбук, оставляют с подключенными USB устройствами), переустановка драйвера ACPI, сброс настроек BIOS, а также снятие/установка аккумулятора, навряд ли помогут, так как из-за критического падения напряжения аккумулятора, контроллер батареи размыкает цепь, считая аккумулятор не рабочим. В данном случае, при включении ноутбука, светодиод, указывающий на подзарядку аккумулятора, загорается, но через пару секунд гаснет.
Если Вы знаете, что Ваш аккумулятор ещё не слишком стар, чтобы умереть, то для устранения этой проблемы, необходимо поднять напряжение аккумулятора, немного подзарядив его. Это делается так:

  • выключаем ноутбук, подключаем питание от сети;
  • включаем ноутбук, ждём когда светодиод подзарядки аккумулятора погаснет, выключаем ноутбук;
  • повторяем второй пункт (раз десять), пока аккумулятор не получит достаточное количество тока, для поднятия напряжения до номинального.

Собственно, когда АКБ раскачается, светодиод подзарядки батареи перестанет гаснуть и процесс продолжится нормально.

PfSense: Inactivity timeout (—ping-restart), restarting

При использовании туннеля OpenVPN до сервера PfSense, соединение периодически пропадает, происходит переподключение VPN. При этом, в журнале появляются записи: Inactivity timeout (—ping-restart), restarting; SIGUSR1[soft,ping-restart] received, process restarting.
Это означает, что на сервере задействована опция ping-restart (если за определённое время не было получено ни одного пакета с удаленной стороны, то перезапустить подключение).
В PfSense, в настройках OpenVPN сервера, в разделе Advanced Configuration, можно вписать в поле Custom options альтернативную команду, например, keepalive 10 180 (каждые 10 секунд осуществлять ping удалённого хоста, и, если за 180 секунд не было получено ни одного пакета — перезапустить подключение).

Наблюдение или управление сеансом пользователя в Windows Server

В Windows Server 2012 R2 доступно теневое подключение к RDP сессиям пользователей следующим образом:

  1. запускаем командную строку под администратором (поиск → вводим «cmd» → нажимаем ПКМ, выбираем запуск с правами Администратора)
  2. вводим команду quser (смотрим id необходимой сессии)
  3. для наблюдения вводим команду mstsc /shadow:id, если требуется управление, то добавляем к команде опцию /control
  4. пользователь должен разрешить подключение, нажав кнопку «да» (опция /noConsentPrompt позволяет не запрашивать разрешения на подключение, однако она требует соответствующей настройки политики Установить правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов)

Копирование файлов и папок с сохранением прав

Для копирования файлов и папок (в том числе по сети) с сохранением прав, в Windows имеется встроенная программа Robocopy. Использовать данную программу довольно просто, достаточно в командной строке написать:

robocopy \\computer\src c:\dst /e /zb /copyall /w:5

Справку по синтаксису и параметрам, можно посмотреть прямо в командной строке. Но есть следующие интересные моменты:
/Z — включает поддержку докачки, без которой, в случае обрыва связи при копировании через сеть, хэш-сумма скопированного файла может не сойтись с источником;
/M — копирует файлы с атрибутом «Архивный» и сбрасывает его, т.е. копирует только файлы, которые были изменены, и чтобы не измененные файлы в следующий раз не копировать, сбрасывает атрибут «Архивный»;
/B — копирует файлы, для которых NTFS разрешения для данного пользователя отсутствуют (при этом пользователь должен быть либо в группе Администраторы, либо в группе Операторы архива);
/sec — копирует только основную информацию о файлах (Данные, Атрибуты, Метки времени),
/copyall — копирует всю информацию о файлах (Данные, Атрибуты, Метки времени, Список контроля доступа NTFS (ACL), Сведения о владельце, Сведения аудита);
параметры /R и /W лучше всегда задавать вручную, так как по умолчанию они очень велики, и в процессе копирования, robocopy может просто надолго застрять на каком-либо файле.

PHP — Fatal error: Call to undefined function mb_internal_encoding

В журнал вэб-сервера записываются ошибки Call to undefined function mb_internal_encoding.
Сие говорит о том, что: либо эта функция отключена директивой disable_functions (настройки в php.ini или в конфигурационном файле сайта, в директории pool.d), либо отключен модуль mbstring.so (закомментирован в файле 20-mbstring.ini в директории conf.d), либо модуль mbstring не установлен (пакет php*.*-mbstring).
Проверяем, установлен ли пакет:

dpkg —get-selections | grep mbstring

В случае отсутствия оного, ищем доступные версии:

apt-cache search mbstring

Выбираем версию, соответствующую версии установленного PHP интерпретатора, и устанавливаем её:

apt-get install php5.6-mbstring

Если же пакет уже был установлен, то правим конфигурационные файлы.

PHP — Fatal error: Call to undefined function utf8_encode

В журнал вэб-сервера записываются ошибки Call to undefined function utf8_encode.
Сие говорит о том, что: либо эта функция отключена директивой disable_functions (настройки в php.ini или в конфигурационном файле сайта, в директории pool.d), либо отключен модуль xml.so (закомментирован в файле 15-xml.ini в директории conf.d), либо модуль xml не установлен (пакет php*.*-xml).
Проверяем, установлен ли пакет с расширением для PHP:

dpkg —get-selections | grep xml

В случае отсутствия оного, ищем доступные версии:

apt-cache search xml

Выбираем версию, соответствующую версии установленного PHP интерпретатора, и устанавливаем её:

apt-get install php5.6-xml

Если же пакет уже был установлен, то правим конфигурационные файлы.

MySQL: unknown variable ‘bind-address=0.0.0.0′

При запуске сервиса, mysqld сообщает об ошибке: unknown variable ‘bind-address=0.0.0.0′.
Несмотря на присутствие в файле my.cnf секции [client-server], которая используется и сервером, директиву bind-address, необходимо задавать в файле /etc/mysql/mariadb.conf.d/50-server.cnf.

BitrixEnv — PHP Fatal error: Allowed memory size

Один из разделов сайта на Битриксе, развёрнутом в не открывается, в журнал httpd записываются ошибки:
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 84 bytes) in /home/bitrix/site.ru/bitrix/templates/site.ru/components/bitrix/catalog.section/catalog/result_modifier.php on line 467

Так как для выполнения кода, PHP интерпретатору недостаточно памяти, то необходимо увеличить значение директивы memory_limit в файле /etc/php.d/bitrixenv.ini, после чего, перезагрузить вэб-сервис:

service httpd restart