Ответы пользователя по тегу Linux
  • Как применить изменения в php.ini в VMBitrix?

    shambler81
    @shambler81 Куратор тега Linux
    Читайте официальные руководства там всё есть.
    MySQL - /etc/mysql/conf.d/z_bx_custom.cnf
    PHP - /etc/php.d/z_bx_custom.ini
    Apache - /etc/httpd/bx/conf/z_bx_custom.conf

    service httpd restart
    Ответ написан
    2 комментария
  • Linux ошибка скрипта. Почему?

    shambler81
    @shambler81 Куратор тега Linux
    $(curl ....)
    А еще лучше напиши что ты хотел сделатЬ, а как-то кривовато все это смотрится
    Ответ написан
  • Какие права дать для пользователя Apache www-data?

    shambler81
    @shambler81 Куратор тега Linux
    chown -R www-data:www-data /var/www/site.ru
    но лучше всего делать следующий вариант
    запускать для каждого сайта апачь под своими юзерами
    тут все зависит от мода представления пхп
    Ответ написан
  • Почему не работает Crontab в CentOS 7?

    shambler81
    @shambler81 Куратор тега Linux
    which python3.6
    И вставить получившийся полный путь
    КРОН НЕ имеет по умолчанию ПЕРЕМЕННУЮ PATH как следствие он не в состояние сам определить где лежит бинарник
    Ответ написан
    1 комментарий
  • Правильно ли монтировать /var на HDD вместо SSD чтобы он прослужил больше?

    shambler81
    @shambler81 Куратор тега Linux
    НЕТ это уже не актуально
    технология трим уже есть на всех дисках, их износ не меньше чем у жестких а порой и того и больше.
    Детские болячки ссд уже прошил
    Ответ написан
  • Linux crontab Не запускает скрипт?

    shambler81
    @shambler81 Куратор тега Linux
    крон не имеет по умолчанию переменных path по этому просто не знает где лежит зип
    вам нужно указать полный путь до команды зип и все заработает.
    узнать где в вашей ос он лежит легко
    which zip

    после этого указать полный путь в моем случае это

    /usr/bin/zip zip -P 12345 ....
    Ответ написан
    Комментировать
  • Какой командный процессор (shell) самый продвинутый и удобный в Linux?

    shambler81
    @shambler81 Куратор тега Linux
    sh - посколкьу это хоть и самый неудобный но самый стандартный и если ты будешь работать на разных серверах то не везде есть отличное от sh и даже bash а главное не всегда можно ставить привычную тебе шел. по этому лучше учиться пользоваться тем что есть везде. А то может получиться что ты работаешь на упавшем продакшен сервере а тебе вместо работы приходится переучиваться к дефолтной шел.
    Ответ написан
  • Бэкап linux (папка + бд) с отправкой в windows?

    shambler81
    @shambler81 Куратор тега Linux
    пойдет ? только wput нужно доставить поскольку он позволяет ограничивать скорость
    так же можно сделать бэкап отдельного сайта в консоли сделав так scrypt.sh site.ru в таком случае будет дамп не всех сатов а только 1. Заточено под битрикс тут бд еще и складываются к сайтам. Если нужно просто все бд то нужно поменять 2 строчки и спрашивать список бд уже у mysql и в цикле дампить их
    #!/bin/sh
    # Пример пути до сайта /var/www/site.ru/web/
    SITEDIR="/var/www"                                  # Папка до названия доменаов
    WEB="web"                                           # Папка после названия доменов (если есть)
    DBCONN="bitrix/php_interface/dbconn.php"            # Откуда читать настройки mysql
    FTPUSER="1111111"                                   # Логин FTP сервера
    FTPPASS="22222222"                                  # Пароль FTP
    FTPHOST="u113948.site.ru"                           # сервер FTP
    FTPDIR="/ks03.ru/site/"                             # папка на FTP
    TMPDIR="/var/backup/site"                           # Где будут храниться временные файлы
    DATE=`date +"%Y-%m-%d"`                             # Формат даты в имени файла
    DATEYM=`date +%Y`/`date +%m`                        # Второй форматы даты
    LIST=${1:-`ls -L $SITEDIR | grep -E ".*\.\w{1,5}" | grep -v "restore.php" | grep -v "klondike.php"`} # Название сайта, тут выбор или аргумент или, регулярка  можно убрать только -L ;) ( не брать вот эти файлы )
    
    test ! -d $TMPDIR/$DATEYM && mkdir -p $TMPDIR/$DATEYM # создаем  структ уру каталогов если их нет
    
    for ELEMENT in $LIST
        do
                    if [ ! -f /$SITEDIR/$ELEMENT/$WEB/$DBCONN ];
                            then
                                echo " Файл $SITEDIR/$ELEMENT/$WEB/$DBCONN не найден, сайт будет без БД!"
                            else
                                mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql && echo "Дамп БД $DBNAME будет сохранен в корне сайта"  ||  echo "Ошибка дампа базы данных " $DBNAME
                    fi
        echo "MySql, чтоб вам прям ну совсем не марать ручки"
        echo "$DBLOGIN"
        echo "$DBPASS"
        echo "$DBNAME"
        echo "Архивируем сайт $ELEMENT"
            tar -cvpzf $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
            rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
    
            echo "Сохраняем $ELEMENT на FTP"
    
            echo "wput  --basename=$TMPDIR --limit-rate=60000K --timestamping  --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR"
            wput --disable-tls --basename=$TMPDIR --limit-rate=60000K --timestamping  --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
            rm -f $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz
    echo -en "\n\033[37;1;41m Ссылочка:\033[0m \e[1;4;36mwget ftp://u148-sub4:W3qyu9NRcVVi51bN@$FTPHOST/$DATEYM/$ELEMENT-$DATE.tar.gz\e[0m\n\n" #ks02
      done
    rm -r $TMPDIR
    Ответ написан
  • Как изменить вывод grep?

    shambler81
    @shambler81 Куратор тега Linux
    find /etc/nginx  -type f  -exec grep -l 3dpaneli.ru {} \; | xargs ls -lah

    find - искать в каталоге
    -type f только имена файлов
    -execвыполнить команду с найденым файлом
    grep -l - не выводить сам греп а выводить имя файла в котором он нашел
    {} - то что на выводе у find
    \; - просто заканчиваем файнд
    |- вывод передаем следующей команде
    xargs ls -lah xargs почитай отдельно короче он передаст вывод пути файла на ls -lah и получаем все че хочеш
    5fd0f0daa8e29240627639.png

    если тебе нужно обрезать вообще все лишнее то тут уже можно awk в общем там уже будет проще удалить лишние колонки
    спасибо кэп, отметил как решенный.
    Ответ написан
    1 комментарий
  • Как сменить владельца на папке /etc?

    shambler81
    @shambler81 Куратор тега Linux
    chown root:root /etc
    Ответ написан
    Комментировать
  • Какой командой можно заменить grep -A?

    shambler81
    @shambler81 Куратор тега Linux
    man ls | grep -A 1 "\-\-color\[=WHEN\]"
    5fc789b056429952359616.png
    -A 1 - after 1 строка после найденого
    '\-\-color\[\=WHEN\]' - экранируем спец символы

    Теперь можно или обрезать
    man ls | grep -A 1 "\-\-color\[=WHEN\]" | tail -n1
    tail - n1 показать 1 строчку с конца
    или
    man ls | grep -A 1 "\-\-color\[=WHEN\]" | grep -v =WHEN

    -v отрицание

    Но если задача стоит более серьезно например описание может быть больше одной строки двух или фиксированного количества то тут нужно делать по другому grep тут не помошник awk ваше все поскольку поддерживыает и регулярки и многострочность и условия;)

    как вариант можно в мане узнать где расположен файл мана ls и спарсить уже с него данные
    Ответ написан
    Комментировать
  • Как сделать bash скрипт который устанавливает lamp сервер?

    shambler81
    @shambler81 Куратор тега Linux
    vestacp (бесплатный веб морад) в 1 клик
    brainycp (проприетарный но бесплатный) в 1клик
    ispconfig3 (бесплатный есть веб морда) + есть на гите скрипты а вот моя личная конфа
    bitrix vm ( бесплатный только центос и консольная морда) отличная оптимизция производительности, готовые вм машины на любую виртуализацию, есть и прсто sh скрипт
    и тд
    Все это ставаится баш скриптом с веб или консольной мордой. Все затебя уже сделали.
    Ответ написан
  • Nginx proxypass cache и php, как правильно настроить?

    shambler81
    @shambler81 Куратор тега Linux
    в 99% случае было бы целесообразнй поработаь с кодом самого сайта это факт, улучшить систему кеширования переделать самые тяжелые запросы как правило при разрастание проекта такое не редко, и тут добиться производительности можно куда быстрей чем через костыли.
    так же не забывайте что если часть сайта не хотите кешировать то сделайте отдельный локейшен под эхто мероприятие.
    Так же есть особые рекомендации в индивидуальном порядке каждому движку.
    Так же не забывайте что даже смена версии пхп может сильно улучшить ситуацию опять же нужно смотреть что у вас, если вы на 5.6 то точно 100% да
    и даже если на 7.0
    не забывайте что так же у вас должен быть подключен opcache и качественно отстроены конфиги apache nginx и mysql это вам тоже должно дтаь отличный буст.
    до 50К посетителей сайт должен справляться на одном сервере без костылей.
    так что больше вводных
    какие версии че за по сслку на сайт ( это не сеерет, вы еще и за директ платите чтоб я ее узнал)
    Ответ написан
    Комментировать
  • Как отследить появление http трафика на сервере?

    shambler81
    @shambler81 Куратор тега Linux
    Не нужно его сбрасывать, его нужно синхронизировать.
    Мемкеш он с легкостью балансируется, собственно вы балансируете весь сессии и кеш
    Конечно можно сделать что-то вроде
    cat /var/log/nginx/access.log | grep  "тут признак того что   хиты нужные тебе пошли на него" | grep " тут признак  по дате или через awk   там омжно диапазон дат указывать." && /usr/bin/php /home/www/xxxx/current/app/cli.php cache clear prod

    И все это в крон, но лучше синхронизировать сессии и кеш
    Ответ написан
    1 комментарий
  • Как создать регулярку поиска файлов, в названии которых от 3 до 5 символов?

    shambler81
    @shambler81 Куратор тега Linux
    Вот так
    find . -type f  -regextype posix-egrep -regex ".*/(.{3,5})\.([^\.]+)$"

    Собственно оно же но уже через греп, тут с подсветочкой но уже без возможности -exec но можно и пережить
    В примере учтена и возможность встречи точки в имени файла и пробелы
    find . -type f | grep -P "/(.{3,5})\.([^\.]+)$"

    5fbce0da70e1a137878967.png
    Спасибо кэп, отмечу решенным.
    Ответ написан
    Комментировать
  • Как забрать логи с сервера за определенное время?

    shambler81
    @shambler81 Куратор тега Linux
    находится в 1 клике поиска
    https://stackoverflow.com/questions/17238908/how-t...
    И так логика простая вы делаете
    cat  you.log | grep "условие по дате" | grep "ваше условие че вы там ищете" | grep " тут еще условие" > 111.txt

    если последнее не делать то просто принтанет.
    Каждое предидущее условие будет передаваться на новый ввод вот этим символом |
    то есть результат прошлой команды подастся на ввод следующей эквивалент "И"
    Но в реальной работе куда лучше использовать
    tail -f | grep поскольку вы в отличие от открывания лога тут смотрите в режиме риалтамйм, очень удобно для работы.

    Если у тебя диапазон даты то лучше подойдет
    awk
    https://coderoad.ru/30352664/Grep-%D0%BC%D0%B5%D0%...
    Ответ написан
    Комментировать
  • Как изменить права для папки (диска) в Linux?

    shambler81
    @shambler81 Куратор тега Linux
    изменить права на файлы

    find /tmp/you_papka -type d -exec chmod 755 {} ;\ - выставить права на все каталоги
    find /tmp/you_papka -type f -exec chmod 644 {} ;\ - выставить права на все файлы в этой папке и ниже

    chmod -R root:root /tmp/you_papka- владелец root группа root на все что в этой папке (опасная команда вводить только с полным путем иначе есть вариант снести права всей системы ооочень быстро работает.
    но это ответ на ваш вопрос, однако не совсем понятно что вы хотите сделать.
    ОПишите реальную задачу сдается вы делаете что-то не то
    Ответ написан
    Комментировать
  • Как найти параметр в логах и вывести в файл?

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