[РЕШЕНО] Исправляем двойное тире в WordPress

Сегодня в статье поговорим о том, как можно исправить двойное тире в WordPress. Если у вас, как и у меня, сайт построен на статьях с примерами настройки различных систем: Ubuntu, Debian, , MX Linux, CMS WordPress и т.д, то Вы тоже сталкиваетесь с проблемой преобразования двойного тире в длинное на вашем сайте.






А как же тогда в статьях написать двойное тире (дефиса), ведь в создании скриптов или написания каких либо кодов, да и в программах и утилитах Linux постоянно встречаются два тире (дефиса)?




Давайте исправим это.




Исправляем двойное тире в WordPress




Для этого необходимо открыть файл который находится по пути /ваш_сайт/wp-includes/formatting.php. Ваши пути могут отличаться. В Ubuntu Server данный файл может например располагаться по следующему пути:




nano /var/www/site.ru/public_html/wp-includes/formatting.php




Вы также можете воспользоваться какой ли программой, которая подключается по FTP (например FileZilla) к вашему хостингу.




Далее мы находим следующие строчки:




// Dashes and spaces
     $dynamic['/---/'] = $em_dash;
     $dynamic[ '/(?<=^|' . $spaces . ')--(?=$|' . $spaces . ')/' ] = $em_dash;
     $dynamic['/(?<!xn)--/']                                       = $en_dash;
     $dynamic[ '/(?<=^|' . $spaces . ')-(?=$|' . $spaces . ')/' ]  = $en_dash;




И приводим их к виду:




// Dashes and spaces
     $dynamic['/---/'] = $em_dash;
     //$dynamic[ '/(?<=^|' . $spaces . ')--(?=$|' . $spaces . ')/' ] = $em_dash;
     //$dynamic['/(?<!xn)--/']                                       = $en_dash;
     $dynamic[ '/(?<=^|' . $spaces . ')-(?=$|' . $spaces . ')/' ]  = $en_dash;




Сохраняем изменения. Все теперь на вашем сайте два тире не будут преобразовываться в один большой.




Теперь для написания большого дефиса (—) воспользуйтесь тремя маленькими тире (---)




При обновлении wordpress все изменения будут затерты




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




sudo chattr +i /var/www/site.ru/public_html/wp-includes/formatting.php




Единственный минус в том, что при обновлении WordPress нужно будет снять chatrr с файла




sudo chattr -i /var/www/site.ru/public_html/wp-includes/formatting.php




На этом все!



[endtxt]




RSS




2020-03-30T05:30:00
WordPress

Rsync – синхронизация директорий в Linux

 

Сегодня рассмотрим примеры синхронизации директорий в операционных системах Linux с помощью распространенной утилиты Rsync.

 

Rsync – утилита для копирования и синхронизации файлов и директорий в Linux системах. Используется для синхронизации директорий как на локальном сервере, так и для синхронизации директорий с локального на удаленный и наоборот. Rsync позволяет копировать ваши данные между серверами внутри защищенного SSH соединения. Так же, rsync, поддерживает сжатие данных на лету, что повышает производительность системы. Чтобы исключить потерю информации при отправке файлов, rsync сначала копирует всю передаваемую информацию во временный файл.

 

Опции Rsync

Давайте кратко рассмотрим опции rsync. В данной статье перечислены не все опции. Для более подробной информации смотрите мануал данной утилиты при помощи команды man rsync:

  • -v – Выводить информацию о копировании файла;
  • -q – Минимум информации;
  • -c – Копировать только измененные файлы;
  • -a – Сохранять все атрибуты оригинальных файлов;
  • -R – Относительные имена пути;
  • -b – Создание резервной копии;
  • -u – Не перезаписывать файлы, которые являются более новыми на приемном конце;
  • -l – Копировать символьные ссылки;
  • -L – Копировать содержимое ссылок;
  • -H – Копировать жесткие ссылки;
  • -p – Сохранять права для файлов;
  • –partial – сохранять частично переданные файлы;
  • -g – Сохранять группу;
  • –no-group – Не сохранять группу;
  • -o – Сохранить владельца;
  • –no-owner – Не сохранять владельца;
  • -t – Сохранять время модификации;
  • -x – Работать только в этой файловой системе;
  • -e – Использовать другой транспорт, например, ssh;
  • -z – Сжимать файлы перед передачей;
  • –delete – Удалять файлы которых нет в источнике;
  • –exclude – Исключить файлы по шаблону;
  • -r – Перебирать директории рекурсивно;
  • –no-recursive – Отключить рекурсию;
  • –no-links – Отключить копирование символических ссылок;
  • -P – Выводить прогресс копирования файла;
  • –stat – Показать статистику передачи;
  • –version – Версия утилиты;
  • –inplace – Обновление файлов назначения налету;
  • –existing – Пропустить создание файлов (включая каталоги), которые еще не существуют в месте назначения;
  • –ignore-existing – Пропустить обновление файлов, которые существуют в месте назначения.
  • –temp-dir – Указываем директорию для временных файлов

 

Синхронизация директорий только на локальном сервере

Давайте синхронизируем две директории между собой, но только на локальном сервере. Директории конечно же должны существовать. Допустим у нас имеется директория /home/user/download и директория /home/user/install. Для их синхронизации давайте наберем следующую команду:

rsync -r /home/user/download/ /home/user/install/  --temp-dir=/tmp --no-owner --no-group

Тут мы синхронизируем директорию download с директорий install, также указываем куда размещать временные файлы и отказываемся от переноса владельца и группы у копируемых файлов.

Тоже самое, но без создания temp файла.

 

rsync -r /home/user/download/ /home/user/install/  --temp-dir=/tmp --no-owner --no-group --inplace

 

    • –inplace – в этом случае rsync не будет создавать при копировании новый файл и затем им замещать старый, а сразу начнет перезапись старого файла. Такой алгоритм не сможет сохранить целостность файла в случае сбоя соединения между компьютерами, за исключением использования совместно с параметром --backup. Этот параметр полезен в случае копирования файлов на одном компьютере или при копировании больших файлов таких как видео.

 

Синхронизируем файлы c Облаком cloud.mail.ru

 

Вот пример синхронизации двух каталогов. Один каталог локальный /home/local/foto – в нем удобно работать по сети. Второй каталог /home/CloudDisk/ подключен по технологии WebDAV.

Вот тут и тут уже писал про настройку облака от mail.ru на Debian системах.

 

rsync -zvraP --delete /home/local/foto/ /home/CloudDisk/  --temp-dir=/tmp

 

  • -z – Сжимаем содержимое при копировании;
  • -v – Информация о копировании;
  • -r – рекурсивно перебираем все директории;
  • -a – Cохранить все атрибуты файла;
  • -P – показывает прогресс копирования;
  • –delete – удаляет файлы из облака, которых нет в директории /home/local/foto;
  • –temp-dir=/tmp – директория для tmp файлов;

 

Данная команда пригодится если вам надо синхронизировать неизменяющиеся данные, например фотографии или видео.

Если же у вас данные в файлах меняются, например как в Word документах (имя файла остается прежним, а его размер меняется), то для их синхронизации необходимо набрать вот такую команду:

rsync -zvarcP --delete /home/local/doc/ /home/CloudDisk/doc/ --modify-window=0 --size-only

 

    • -c – Копировать только изменившиеся файлы в директории /home/local/doc/;

 

Если после копирования хотите еще оптимизировать фотографии, то вам сюда.

Настройка синхронизации с удаленным сервером при помощи rsync

Чаще всего копирование/синхронизация директорий с удаленным сервером используется для резервного копирования или синхронизации конфигурации сервера. При таком методе можно выполнять автоматическую синхронизацию данных с рабочего сервера на резервный, и в случае проблем на рабочем севере быстро все перевести на резервный. Это довольно удобный и простой в настройке вариант.

 

Сегодня версия rsync использует протокол SSH для передачи файлов по-умолчанию. Однако вы можете использовать и демон rsyncd. Для этого клиент rsync должен быть установлен на удаленном компьютере, и его демон добавлен в автозагрузку:

 

sudo systemctl enable rsyncd

 

 

Конфигурационный файл rsync — /etc/rsyncd.conf. В этом файле можно настроить параметры rsync и настройки для синхронизации для разных ресурсов.

 

Для синхронизации через демона rsync адрес удаленного сервера указывается так rsync://:

rsync -zvarP /var/www/site/ rsync://IP_сервера/backup/

Чтобы скопировать файл на удаленный сервер через протокол SSH, используйте команду:

rsync -az /var/www/site/package.zip ваш_user@IP_сервера:/backup/

После запуска команды, удаленный сервер запросит пароль пользователя (если включена авторизация по паролю). Для автоматической авторизации нужно настроить доступ по SSH ключу.

 

Копирование с локального хоста на удаленный хост

Скопируем директорию с локального сервера на удаленный:

 

rsync -zvraP /var/www/site/ ваш_user@IP_сервера:/backup/

 

То есть, все тоже самое, что и с локальными директориями, только мы указываем адрес удаленного сервера вместо адреса нашей директории.

 

Копирование с удаленного хоста на локальный хост

 

Так же вы можете синхронизировать файлы и с удаленного сервера на локальный, команда для этого немного изменится:

 

rsync -zvraP ваш_user@IP_сервера:/backup/ /backup/

 

Для принудительного использования SSH протокола, а также если вы изменили порт для SSH или для авторизации требуется указать явно где расположен сертификат SSL, команды будут выглядеть следующим образом.

 

Принудительное использование протокола SSH

 

Подключение по стандартному порту:

 

rsync -zvraPe ssh ваш_user@IP_сервера:/backup/ /backup/

 

Если удаленный SSH сервер имеет отличный от стандартного порт:

 

rsync -zvrae "ssh -p 2222" ваш_user@IP_сервера:/backup/ /backup/

 

Если надо явно указать порт и ключ:

 

rsync -zvrae "ssh -p 2222 -i ~/.ssh/id_rsa" ваш_user@IP_сервера:/backup/ /backup/

 

Синхронизация с использованием опций исключений

 

Также очень удобный опции --include и --exclude, с помощью этих опций, можно делать исключения по копированию директорий или файлов:

 

rsync -zvra --exclude=administrator/ /var/www/site ваш_user@IP_сервера:/backup/

 

В данном случае мы исключили директорию “administrator” при копировании на удаленный сервер.

 

rsync -zvra --include='*.php' --exclude='*' /var/www/site/administrator/ ваш_user@IP_сервера:/backup/

 

Добавлением опции --include мы смогли задать фильтр по файлам, скопировали только файлы с расширением “*.php“.

 

Вывод

Сегодня показал вам как можно синхронизировать директории в Linux на одном рабочем ПК и между удаленными серверами.

Как сопоставить значения NULL с другими значимыми значениями

Резюме: в этой статье вы научитесь отображать значения NULL в другие значимые значения.

Dr.EFCodd, который является создателем реляционной модели для базы данных, представил эту концепцию NULL в теории реляционных баз данных. Согласно Dr.EFCodd, NULL означает неизвестное значение или недостающая информацию.

MySQL также поддерживает NULL, которые представляют концепцию отсутствующей или неприменимой информации.

В таблице базы данных вы храните данные, которые содержат значения NULL. Когда вы предоставляете данные пользователям в форме отчетов, показывать NULL значения не имеет смысла.

Чтобы сделать отчеты более читабельными и понятными, необходимо отображать значения NULL в виде других значений, таких как неизвестные, отсутствующие или недоступные (нет данных). Для этого вы можете использовать функцию IF.

Синтаксис функции IF следующий:

IF(exp,exp_result1,exp_result2);

 

Если значение exp имеет TRUE (когда exp <> 0 и exp <> NULL), то функция IF возвращает значение из в противном случае exp_result1 возвращает значение exp_result2.

Возвращается значение функции IF может быть строка или число, в зависимости от выражений exp_result1 и exp_result2.

Давайте потренируемся с некоторыми примерами, чтобы лучше понять.

Мы будем работать с таблицей customers в примере базы данных.

Ниже приведены частичные данные в таблице customers, которая включает в себя customername state и country:

SELECT

customername, state, country

FROM

customers

ORDER BY country;

 

Значения состояния недоступны для некоторых клиентов. Вы можете использовать функцию IF для отображения значения NULL как N/A:

SELECT

customername, IF(state IS NULL, 'N/A', state) state, country

FROM

customers

ORDER BY country;

 

Помимо функции IF, MySQL предоставляет функцию IFNULL, которая позволяет NULL напрямую обрабатывать значения. Ниже приведен синтаксис функции IFNULL:

IFNULL(exp,exp_result);

 

 

Функция IFNULL возвращает значение выражения exp_result, если exp вычисляется в значение NULL, в противном случае, он возвращает значение выражения exp.

В следующем запросе функция IFNULL отображается NULL как неизвестная следующим образом:

SELECT customername,

IFNULL(state,"N/A")state,

country

FROM customers

ORDER BY country;

 

В этой статье вы узнали, как использовать функцию IF и IFNULL для отображения значений NULL на других более значимых значения для представления данных в читаемом виде.



2020-03-28T11:51:49
База данных MySQL

Как избежать развода

​По статистке более 60% браков заканчиваются разводом. Среди причин лидирует такое объяснение: «не сошлись характерами». Супруги не желают принимать партнера таким, как он есть, пытаясь переделать его под себя. Из-за этого вспыхивают ссоры. А ведь многих конфликтов можно было бы избежать, если бы супруги знали, как сохранить семью.

Читать

Ext4 против Btrfs: какую файловую систему Linux следует использовать?

Честно говоря, мало кто задумывается над тем, какую файловую систему использовать для своих компьютеров.

У пользователей Windows и macOS нет особых оснований для поиска, поскольку у них действительно есть только один выбор для их системы — NTFS и HFS + соответственно. В Linux, с другой стороны, есть множество различных опций файловой системы, текущим значением по умолчанию является четвертая расширенная файловая система (ext4).

Продолжается стремление изменить файловую систему по умолчанию на файловую систему B-Tree (btrfs). Но лучше ли btrfs, и когда мы увидим дистрибутивы, вносящие изменения?

Что делают файловые системы?

Как и физические файловые системы, такие как папки и шкафы, цифровые файловые системы управляют файлами. Они контролируют, как ваша операционная система хранит данные, которые не используются, какая другая информация (известная как метаданные) прикрепляется к данным, кто или что имеет доступ к данным и т. Д.

Файловые системы работают в фоновом режиме. Как и остальное ядро ​​операционной системы, они практически невидимы в повседневном использовании. Файловые менеджеры, приложения, которые вы используете для управления файлами, в основном работают одинаково, независимо от того, какая файловая система работает под ними.

Файловые системы невероятно сложны в коде. Разработчики постоянно пересматривают эти системы, чтобы включить больше функциональности, в то же время становясь более эффективными.

Зачем переключать файловые системы?

Ни один код не подходит для всех случаев использования, и это относится и к файловым системам. Некоторые файловые системы выделяются по разным причинам. Файловая система FAT (File Allocation Table) — это система, которую поддерживает почти каждая современная операционная система.

Флэш-накопители USB и SD-карты используют систему FAT, так что ваш компьютер может читать их независимо от того, используете ли вы Linux, Windows, macOS или какую-либо другую операционную систему.

Но в наши дни FAT не такой надежный или мощный, как некоторые другие файловые системы, которые были разработаны с тех пор. Поэтому, пока вы будете видеть FAT на переносном носителе, вы не увидите, как он управляет данными на вашем жестком диске.

Apple, возможно, неудивительно, что она производит файловые системы, которые работают только с ее устройствами.

Текущая файловая система Linux

Большинство версий настольных Linux (известных как дистрибутивы или «дистрибутивы») по умолчанию используют файловую систему ext4. ext4 был усовершенствованием файловой системы ext3, которая до этого была улучшением по сравнению с файловой системой ext2.

ext4 оказалась очень надежной файловой системой, но она сделана из устаревшей кодовой базы. Некоторые пользователи Linux ищут возможности, которые ext4 не обрабатывает самостоятельно. Существует программное обеспечение, которое решает некоторые из этих задач, но возможность выполнять эти действия на уровне файловой системы обеспечит лучшую производительность. Отсюда и стремление к бтрфс.

Понимание ext4: плюсы и минусы

Ограничения Ext4 остаются довольно внушительными. Максимальный объем / раздел, который вы можете создать с помощью ext4, составляет 1 exbibyte, что эквивалентно примерно 1 152 921,5 терабайт. Максимальный размер файла составляет 16 ТБ, или примерно 17,6 ТБ, что намного больше, чем у любого жесткого диска, который в настоящее время может купить обычный потребитель.

Известно, что Ext4 приносит улучшение скорости по сравнению с ext3, используя несколько различных методов. Как и большинство современных файловых систем, это журнальная файловая система, что означает, что она ведет «журнал» о том, где находятся файлы на диске, и о любых других изменениях на диске.

Несмотря на все свои функции, он не поддерживает прозрачное сжатие, прозрачное шифрование или дедупликацию данных. Снимки поддерживаются технически, но в лучшем случае эта функция является экспериментальной.

Теодор Цо, разработчик, сыгравший ключевую роль в создании ext4, назвал ext4 релизом, основанным на устаревшей технологии 1970-х годов, и полагал, что Btrfs предложил лучший путь вперед. Это было более десяти лет назад.

Понимание Btrfs: за и против

Btrfs, который можно произносить как «Butter FS», «Better FS» или «B-Tree FS», является новой файловой системой, переделанной с нуля. Btrfs существует потому, что разработчики хотели расширить функциональность файловой системы, включив в нее дополнительные функции, такие как пул, моментальные снимки и контрольные суммы.

Проект начался в Oracle, но с тех пор другие крупные компании приняли участие в разработке. Список включает в себя Facebook, Netgear, Red Hat и SUSE.

В то время как улучшения, найденные в btrfs, могут принести пользу обычным пользователям, некоторые дополнительные функции представляют больший интерес для корпоративного использования. Такая функциональность предназначена для более требовательных случаев использования, которые часто требуют более надежных жестких дисков. а также.

Для организаций, использующих очень большие программы с большими базами данных, наличие, казалось бы, непрерывной файловой системы на нескольких жестких дисках может значительно упростить консолидацию данных. Дедупликация данных уменьшит объем фактического пространства, занимаемого данными, и зеркалирование данных станет проще, когда существует одна широкая файловая система, которую необходимо отразить.

Конечно, вы все равно можете создать несколько разделов, чтобы вам не приходилось отражать все. Максимальный размер раздела файловой системы btrfs составляет 16 exbibytes, а максимальный размер файла также составляет 16 exbibytes.

Учитывая, что btrfs сможет охватывать несколько жестких дисков, хорошо, что он поддерживает в 16 раз больше дискового пространства, чем ext4.

Дистрибутивы Linux сделали переход?

Btrfs является стабильной частью ядра Linux с 2013 года, и сегодня вы можете переформатировать свои жесткие диски, используя файловую систему. Но btrfs никоим образом не является стандартной файловой системой Linux. Большинство дистрибутивов по умолчанию продолжают использовать ext4.

Почему? Файлы — это самые важные данные на вашем жестком диске. Персональные данные незаменимы. Вы можете переустановить ОС и повторно загрузить приложения, но без резервной копии потерянные файлы исчезнут навсегда. Вот почему крайне важно, чтобы файловая система была проверена на надежность, прежде чем миллионы людей будут использовать ее по умолчанию.

Ext4 может быть старым и, возможно, хрустящим, но он также оказался устойчивым и надежным. Если питание отключается и ваш компьютер гаснет, вероятность того, что сохраненные данные сохранятся, будет равна ext4.

Для большинства людей такие ситуации являются наиболее важным фактором. Дело не в том, насколько хорошо работает файловая система, когда дела идут хорошо, а в том, что происходит, когда дела идут плохо.

Один известный дистрибутив определил, что прошло достаточно времени, чтобы переключиться. openSUSE теперь использует btrfs по умолчанию для раздела / root, где находится операционная система. Однако для раздела / home, в котором хранятся ваши личные файлы, openSUSE решил использовать файловую систему XFS.

Так что нет, переход прошел не совсем так, как ожидалось. Но, как мы видели с сервером отображения Wayland, новым технологиям иногда требуется много времени для распространения в среде Linux.



2020-03-27T11:07:00
Вопросы читателей

Как исправить медленный интернет при подключении VPN на Windows 10

В Windows 10, когда вы подключаетесь к частной сети с помощью VPN-клиента, вы заметите, что работа в Интернете начинает сильно замедляться.

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

В этом руководстве вы узнаете, как предотвратить прохождение веб-трафика через VPN-соединение, создав «раздельное туннелирование» — сетевую функцию, которая позволит вам поддерживать подключение к частной сети, обеспечивая при этом прохождение веб-трафика через ваше интернет-соединение, следовательно, увеличивает скорость вашего веб-серфинга.

Чтобы запретить VPN-подключению замедлять работу Интернета в Windows 10, выполните следующие действия.

  1. Откройте панель управления.
  2. Нажмите на Сеть и Интернет.
  3. Нажмите на Центр управления сетями и общим доступом.
  4. Выберите параметр «Изменить настройки адаптера» на левой панели.
  5. Щелкните правой кнопкой мыши адаптер VPN-подключения и выберите параметр «Свойства».

  6. Нажмите вкладку Сеть.
  7. Снимите флажок с параметра «Протокол Интернета версии 6 (TCP/IPv6)».
  8. Проверьте и выберите параметр «Протокол Интернета версии 4 (TCP/IPv4)».
  9. Нажмите кнопку Свойства.

  10. Нажмите кнопку Дополнительно.

  11. Перейдите на вкладку «Настройки IP».
  12. Снимите флажок Использовать шлюз по умолчанию в удаленной сети .

  13. Сохраните изменения нажатием кнопки ОК.

После выполнения этих шагов вы создадите разделенное туннелирование в Windows 10, которое позволит вам оставаться на связи в двух разных сетях.

Однако отключение параметра Использовать шлюз по умолчанию в удаленной сети позволит вам получить доступ к удаленному расположению, но только к сети, которая соответствует идентификатору сети с полученного вами IP-адреса. Это означает, что в зависимости от требований к удаленной сети вы можете проконсультироваться с администратором сети, чтобы убедиться, что эти изменения не повлияют на ваше соединение.

Хотя для многих пользователей изменение этих настроек имеет больше смысла, чем отправка веб-трафика через VPN-соединение, для такого поведения по умолчанию есть веская причина. Это делается из соображений безопасности, поскольку позволяет компаниям контролировать интернет-потоки с помощью брандмауэров, фильтров и других решений безопасности, чтобы отслеживать и соблюдать сетевые политики организации, как если бы сотрудники были физически подключены к сети. Кроме того, в большинстве случаев использование настроек по умолчанию не повлияет на пользователей VPN, так как большую часть времени они работают только в одной сети за раз.

Хотя мы ориентируемся на Windows 10, та же концепция работает для Windows 8.1, Windows 7 и практически всех версий операционной системы.



2020-03-27T08:55:45
Вопросы читателей