• Как регулярным выражением преобразовать данные?

    https://regex101.com/r/FNfyEs/1
    Там с боку переключись в функция, на лист.
    Там будет че вставить.
    Ответ написан
  • Как в bash добавить строку в конце файла но перед определенной строке?

    да тут батенька не все так просто, тебе нужно сделать проверку. не добавлен ли он уже в файл, ты же не хочеш плодить дубли. И только после этого добавлять.
    вставить ПЕРЕД найденым можно через sed.
    Вот так
    https://sed.js.org/index.html?snippet=Gz6gka
    А блин да
    sed -e '0,/get_footer/s#.*get_footer.*#вставляемый текст\n&#' /var/www/site.ru/index.php

    Но лучше сделай еще проверку хотябы так
    grep "тут твоя строка которую нужно добавить" /var/www/site.ru/index.php ||  sed -e '0,/get_footer/s#.*get_footer.*#вставляемый текст\n&#' /var/www/site.ru/index.php

    || -false ( в твоем случае строку не нашел)
    && -true
    Если все норм то
    -e меняеш на -i
    тогда это будет не вывод на экран а уже сохранит в файл.

    ps
    если у вас пхп не проще сделать это на нем ?
    Ответ написан
    1 комментарий
  • Какие и как нужно выдать права (и кому), чтобы systemd запускал bash скрипт, который дёргает php?

    shambler81
    @shambler81 Куратор тега Linux
    бро ты не то делаешь и не там.
    1. Пхп на сайте может отличатсья от пхп в консоли, как представлением так и версией.
    2. Переменные среды тоже отличаются.
    3. Если работает с браузера то что тебе мешает вместо
    php -f- к которому кстати в кроне нужно писать полный путь.
    Заменить на wget или curl уже с сайта ? ( кстати тоже с полным путем)
    ты получишь тем самым именно свой пхп и свою переменную среду
    А главное Те же права на файлы что и у сайта ( и да они тоже отличаться могут)

    ps
    ДА и вообще не понятно зачем тебе системд, все что ты описал тупо банальная строчка в
    crontab

    pps
    А че у тебя с правами на php файлы че у них владельцы и группы разные ?
    Ответ написан
  • Как полностью перенести всё содержимое с одного FTP сервера на другой с сохранением прав?

    shambler81
    @shambler81 Куратор тега Linux
    Если у тебя есть доступ по ssh к обоим серверам то без проблем
    Все что тебе нужно
    1. заархивировать все на 1 сервере
    2. отправить 1 архив на 2 сервер
    3 распаковать там.
    Но поскольку он большой то мы будем делать это в один присест
    ТО есть
    Архив будет идти по интернету как один файл, а следовательно скорость передачи как у архива.
    Но делать мы это будем в потоке, отправляя хранение архива сразу в канал, а на той стороне сразу распаковывая, тоже сразу на лету.
    То есть он не будет занимать места ни на том сервере ни на том, а сразу распакуется.
    ТО есть будут все плюсы архива
    и отсутствуют все минусы пофайлового хранения.
    А сохранение прав это всего лишь атребут тара
    Вот тут я как-раз пишу генератор для таких вещей, он сырой но основное уже работает.
    https://top-engineer.com/test/
    Подробней можно вникнуть тут
    https://klondike-studio.ru/blog/bystro-skopirovat-...
    Ответ написан
  • Как создать регулярку из номера телефона для номера телефона?

    Номера телефона это более сложная вещь чем тебе кажется, вот тебе пример того что может пойти не так
    1. +7 или 8
    2. не все номера начинаются с 8, с обственно с нее вообще мало номеров начинаются, россия.
    3. Коды 495 и тд, для россии их достаточно много по этому валидировать телефон по ним можно, но регулярочка там получается мое почтение и возникают проблемы с другими странами.
    4. Синтаксис написания разный Пробелы, () - притом все это может расположиться в разных местах, или отсутствовать
    Если же мы говоирм только о русских номерах то я тебе рекомендую следующее.

    Удаляешь все символы(+|7|8|(|)|-|\s|) , а еще лучше оставляешь только цифры,

    +7(926)5748801 ->      7926574880
    +7(926) 57 48 801 ->   7926574880
    8 (926)574-88-01 ->    7926574880
    +7(926)5748801 ->      7926574880
    89265748801 ->         7926574880
    +79265748801 ->        7926574880

    И тд

    Убеждаешься в их количестве
    заменяешь +7 на 8 или наоборот как тебе нужн.
    +7 (926) 574-88-01

    И после этого уже расставляй тире и скобки в том формате что тебе нужно при для сохранения в бд.
    Не нужно требовать с человека соблюдать твой синтаксис просто если он в состояние ввести 11 цифр бери их и форматируй уже сам.
    Ответ написан
    Комментировать
  • Как сделать корректный редирект со страницы с GET-параметром в .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Вот тебе ссылка
    L - не так работает как ты думаешь
    И дальше следуеет, о боже вот это ссылочка, на миллион, вот тебе братишка " вопрос решен"
    Ответ написан
    Комментировать
  • Как записать вводимые данные в определенном формате?

    Ну и кто тебе мешает считывать собственно в любом из нужных тебе форматов ?
    Sed тебе в помощь.
    https://sed.js.org/?snippet=976nMn
    Например сделаю мак адрес сразу с двумя видами ввода
    #!/bin/bash
    BMCMAC="XX:XX:XX:XX-XX-XX-XX"
    echo "$BMCMAC" | sed  's/-/:/g'

    Вывод
    XX:XX:XX:XX:XX:XX:XX

    2 вариант, убираем и тот и другой символ.
    https://sed.js.org/?snippet=8q6npp
    Вывод
    XXXXXXXXXXXXXX
    Ответ написан
    Комментировать
  • Объединение и монтирование дисков в UBUNTU 18.04.06?

    shambler81
    @shambler81 Куратор тега Linux
    1. самый простой, просто монтируеш второй диск в папку первого, если есть возможность так разбить контент чтоб часть из него лежала в этой папке.
    Плюсы такого решения это вообще ничего не нужно делать.

    2. софтверный рейд собираеш диски в рейд.
    Ответ написан
    5 комментариев
  • Как в Ubuntu 20.04 присоединить неразмеченную область SSD к /home?

    shambler81
    @shambler81 Куратор тега Linux
    1. качаеш акронис
    2. загружаешся с флешки
    Все

    как вариант любую windows pe для админов, тоже самое.
    Дешево и сердито.
    Ответ написан
  • Как правильно настроить .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Господа еще раз, я уже не знаю в какой
    RewriteRule- вообще не знает про GET, ну не является он по его мнению частью урла от слова совсем.
    Осознав эту мысль вы с легкостью поймете что утверждение
    RewriteRule ^cases/$ 
    RewriteRule ^cases/(.*)$
    RewriteRule ^cases/?id=dsfasdfasdfadsfsdaf$

    ОДИНАКОВЫ, если мы говорим про гет параметры.

    А вот если бы вы написали
    RewriteCond %{REQUEST_URI} ^case.php$ 
    RewriteCond %{QUERY_STRING} (^|&)id\=title-of-case($|&)
    RewriteRule   ........

    ТО смогли бы поставить условие по этому GET параметру.
    Но не удалить его, поскольку он опять же не попадает в RewriteRule

    Просто же удалить GET можно очень не очевидным способом.
    RewriteRule было стало? [QSA,L]
    Знак вопроса не опечатка, именно он в конце удалит гет папраметры с урла.
    л -логика ;) логика
    Логика mod_rewrite требует особого вида мышления ;)
    Ответ написан
    Комментировать
  • Кто-то отправляет через Postfix письма с моего сервера, как найти и запретить?

    1. батенька да вы больны, в смысле не тупые а болеете, у вас вирус.
    2. Да нужно будет его удалять, да и еще по хорошему поднять версию cms там где он это умудрился сделать.
    3. Если у вас пхп
    в php.ini
    mail.add_x_header = On
    mail.log = /tmp/phpmail.log

    Соответственно не забывая создать сам файл
    touch /tmp/phpmail.log &&  chmod 777 /tmp/phpmail.log

    Если вы хорош читаете логи в потоке и умеете юзать греп, то можно сделать проще, пихнуть все в syslog заменив лог на вот это
    mail.log = syslog
    Теперь все что вам остается это
    рестартануть пхп
    и смотреть файл, суть этой директивы следующая.
    Она будет писать именно какой файл и какая его строка и когда вызвала отправку почты.
    Пример вывода:
    X-PHP-Originating-Script: :<имя скрипта>.php
    mail() on [/var/www/vhosts/site.com/httpdocs/pages/modules/system/system.mail.inc:83]: To: smith@domain.co.uk — Headers: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes Content-Transfer-Encoding: 8Bit X-Mail


    Ну и все что вам остается пойти и посмотреть что же за чудеса в этом файле происходят.
    Ответ написан
    Комментировать
  • Как организовать кеш картинок при такой архитектуре?

    Зачем вам кэш картинок
    У вас HDD ? камон братишка сейчас 2022 (почти23)
    в этом случае да большое количество даже маленьких картинок при параллельном чтение действительно просаживают вашу I-O тем самым вы замедляете работу своего сайта.
    НО сдается мне что у вас ssd а скорее всего Nvme ибо они стоят нынче как грязь под ноктями.
    Соответственно I-O диска немного ( тут используется сарказм) быстрее и не путайте пожалуйста скорость чтения со скоростью доступа ибо она еще больше чем просто скорость чтения и записи относительно HDD.
    Что вы собираетесь закешировать и какой эффект вы пытаетесь от этого получить ?
    Желательно с прфуами
    А я вам дам свой пруф.
    вы создаете в памяти раздел, закидываете туда весь сайт ( ну прям вот весь), мотнитуете его как диск.
    И замеряйте, быстрей чем весь сайт в памяти вы уже не получите.
    Итог будет я вам скажу печальный, разницы практически не будет от слова совсем ( кроме сжырания памяти).
    Все уткнется в генерацию дом. А там ахиллесова пята это mysql
    Ответ написан
    Комментировать
  • Какой есть не моноширинный текстовый редактор под линух?

    shambler81
    @shambler81 Куратор тега Linux
    https://www.sublimetext.com/ собственно по факту дефолтный текстовый редактор для любой ос
    ставь, и делай со шрифтами че хочешь.

    Then, go to Settings -> Preferences and on the right hand side(User settings) place:
    {
    "font_face": "Roboto Mono",
    "font_size": 10
    }
    Ответ написан
    2 комментария
  • Как в дедике добавить выделенный IP?

    shambler81
    @shambler81 Куратор тега Linux
    1. переключиться на статику с DHCP если он включен.
    2. добавить второй адрес.
    https://docs.hetzner.com/robot/dedicated-server/ne...
    Ответ написан
    Комментировать
  • Почему не отключается сайт?

    Все очень просто
    у тебя есть 3 конфига
    но есть и еще четвертый дефолтный
    Смотри, апачь или nginx разбирается какой сайт отдавать по http запросу браузера, если прям совсем утрированно он заберает переменную хост из браузера и на его основе подставляет конфиг в котором этот хост указан.
    пример nginx
    server_name site.ru www.site.ru
    И да ты отключил этот конфиг
    в результате он видет обращение к себе но не знает какой конфиг подставить поскольку нет с данным хостом.
    По этому он подставляет ты не поверишь default
    <VirtualHost _default_:*>
    ...

    оно же в nignx
    server {
            listen 80 default_server;
            listen [::]:80 default_server;


    А он в свою очередь ведет в какую-то папочку.
    По сути это мусорка которая должна показыватьчто-то вроде здрасти апчь работает но хост не разобран.
    Однако по стечению обстаятельств это первый конфиг который создает ( и единственный) по умолчанию веб сервр при установке.
    Именно по этому ты можешь к нему обратиться по любому айпи по любому хосту и он тебе отдаст папочку /var/www
    Короче сайт ты отключил
    Убери блядство из /var/www
    Рсскидай все сайты по отдельным конфигам и все.

    p.s
    ДА там есть еще такая же шляпа с https но там ваще пипец приколы
    Там если ключа нет то он берет "ближайший по алфовитному порядку конфиг " и подставляет его.
    И даже есть орегинальный способ борьбы с эти, к примеру в некотрых ОС default.conf называется 000-default.conf дабы нули явно будут раньше в алфавитном списке чем d в противном случае если один из сайтов не имеет https ( а отлкючить его физически нельзя одному сайту или у всех или ни у кого) то он может подхватить чужой сайт и показывать его контент, например если у тебя на сервере будет сайт ааа.ru то его конфиг подтянется как дефолтный для htttps и все сайты у кого нет https буудт показывать этот сайт напрочь игнорируя собственные конфиги

    p.p.s
    И да не заворачивайся с сайт включить выключить a2dissite apt.example.com.conf
    вся разница в том что в папке siet-enabled делается линка на паеку site-avalabled ( соответствующий файл естественно) и рестартуй апач
    Эту же линку ты можешь сделать и руками,или попросту скопировать конфиг.
    Все что в папке будет с названием *.conf будет прочтено
    тебе остается только рлоад или рестарт апача сделать
    Ответ написан
    Комментировать
  • Как объединить скрипты и сделать вывод таблицей?

    Выглядит это как бред сивой кобылы
    ты собираеш информацию из собраного списка сохраняешь ее в текстовый файл называя его баш скрптом хотя в нем только текст, пусть даже в нем есть что-то в начале но по факту это ничего не меняет.
    При этом ты задаешь достаточно простой вопрос по башу
    Давай лучше с начала
    ЧТО ты хотел сделать изначально ?
    Что должно делать это художество в конце?
    Ответ написан
    Комментировать
  • Свой почтовый сервер взамен яндекс почты для домена?

    1. нет он убрал все ссылки на бесплатный ак, если у вас есть акаунт вы можете им пользоваться.
    2. поставь ispconfig3 -там почтовый сервер со всем фаршем.
    3.vestacp
    4. aapanel
    все они ставятся в 1 клик.
    да это веб сервера, но там етсь почтвики (почтовые сервера с GUI) которые вполне себе работают, да и интерфейс не ублюдский а вполне себе рабочий.
    Так же получеш сразу и днс сервер в придачу, да и сайтик если че можно выкатить.
    Плюс как минимум в ispconfig3 прикручен roundcube
    в остальных не проверял.( это уже веб клиент для самой почты)
    5. Мобильные же клиенты это все почтовые клиенты которые есть.
    Во всех решениях есть антиспам, и антивирус, и оно даже работает, но конечно до качества Яндекс фильтров немного недотягивает.
    Ответ написан
    Комментировать
  • Как создать сайт в основной директории BitrixVM?

    в этот каталог ставится тольоко б24
    все остальные сайты нужно ставить в экст.
    Долго объяснять но не нужно в этот каталог ставить.

    каталог можно создать руками.
    незабыв изменить владельца и групу
    Ответ написан
    Комментировать