• Bash. Как прочитать лог файл в переменную после перенаправления "динамического вывода" &> file.log?

    @vebmaster Автор вопроса
    Saboteur, нужно чтобы в переменной был вывод как в КОД-1, а щас получается как КОД-2. Даже через файл.
  • Bash. Как прочитать лог файл в переменную после перенаправления "динамического вывода" &> file.log?

    @vebmaster Автор вопроса
    спасибо за вариант, но я ошибся, вывод в переменную есть, но он заполняется всеми вариациями динамических изменений (проценты, скорость). Но заполняется перменная :)
  • Bash. Как прочитать лог файл в переменную после перенаправления "динамического вывода" &> file.log?

    @vebmaster Автор вопроса
    спасибо, записал на всякий случай.
    Но Смысл данного деяния другой - в диагностике, если вдруг передача оборвётся, не достигнув 100%.
    Я остановился на варианте поиска в этом файле строки "Successfully sync".
    Если она есть, то синхронизация прошла успешно, если нет, то копирую этот лог в отдельную папку для ручной диагностики.
  • Bash. Как прочитать лог файл в переменную после перенаправления "динамического вывода" &> file.log?

    @vebmaster Автор вопроса
    Но вариант с вырезанием нужных строк не универсален, т.к. файлов может быть много и 2 и 3 и 10.
    Found 7 file(s) to be copied
    
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 0.00 % of 5.9MB at 0B/s 0s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 0.00 % of 5.9MB at 0B/s 1s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 0.00 % of 5.9MB at 0B/s 2s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 0.00 % of 5.9MB at 0B/s 3s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 0.00 % of 5.9MB at 0B/s 4s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 2.24 % of 5.9MB at 28KB/s 4s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 2.24 % of 5.9MB at 28KB/s 5s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 2.24 % of 5.9MB at 28KB/s 6s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 2.24 % of 5.9MB at 28KB/s 7s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 6.71 % of 5.9MB at 50KB/s 7s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 6.71 % of 5.9MB at 50KB/s 8s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 6.71 % of 5.9MB at 50KB/s 9s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 6.71 % of 5.9MB at 50KB/s 10s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 6.71 % of 5.9MB at 50KB/s 11s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 6.71 % of 5.9MB at 50KB/s 12s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 13s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 14s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 15s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 16s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 17s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 18s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 19s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 20s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 21s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 13.43 % of 5.9MB at 60KB/s 22s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 25s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 26s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 27s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 28s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 29s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 30s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 31s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 32s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 33s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 34s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 35s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 36s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 37s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 38s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 39s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 22.38 % of 5.9MB at 52KB/s 40s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 33.57 % of 5.9MB at 48KB/s 40s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 33.57 % of 5.9MB at 48KB/s 41s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 33.57 % of 5.9MB at 48KB/s 42s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 33.57 % of 5.9MB at 48KB/s 43s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 33.57 % of 5.9MB at 48KB/s 44s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 33.57 % of 5.9MB at 48KB/s 45s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 33.57 % of 5.9MB at 48KB/s 47s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 46.99 % of 5.9MB at 58KB/s 47s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 62.66 % of 5.9MB at 76KB/s 47s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 62.66 % of 5.9MB at 76KB/s 48s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 62.66 % of 5.9MB at 76KB/s 49s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 62.66 % of 5.9MB at 76KB/s 50s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 51s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 52s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 53s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 54s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 55s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 56s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 57s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 58s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 59s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 1m0s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 1m1s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 64.20 % of 5.9MB at 73KB/s 1m2s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m3s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m4s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m5s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m6s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m7s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m8s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m9s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 82.10 % of 5.9MB at 76KB/s 1m10s 
    [2KCopying /tmp/site/1.tar -> mega:/backup/latest/1.tar # 100.00 % of 5.9MB at 82KB/s 1m11s 
    
    [2KCopying /tmp/site/FILE-site_(2020.02.06_12-47-34).tar -> mega:/backup/latest/FILE-site_(2020.02.06_12-47-34).tar # 0.00 % of 10KB at 0B/s 0s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_12-47-34).tar -> mega:/backup/latest/FILE-site_(2020.02.06_12-47-34).tar # 0.00 % of 10KB at 0B/s 1s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_12-47-34).tar -> mega:/backup/latest/FILE-site_(2020.02.06_12-47-34).tar # 100.00 % of 10KB at 9.5K/s 1s 
    
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-07-13).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-07-13).tar # 0.00 % of 10KB at 0B/s 0s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-07-13).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-07-13).tar # 100.00 % of 10KB at 15KB/s 0s 
    
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-12-31).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-12-31).tar # 0.00 % of 10KB at 0B/s 0s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-12-31).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-12-31).tar # 0.00 % of 10KB at 0B/s 1s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-12-31).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-12-31).tar # 0.00 % of 10KB at 0B/s 2s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-12-31).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-12-31).tar # 0.00 % of 10KB at 0B/s 3s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-12-31).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-12-31).tar # 0.00 % of 10KB at 0B/s 4s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-12-31).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-12-31).tar # 0.00 % of 10KB at 0B/s 5s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-12-31).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-12-31).tar # 100.00 % of 10KB at 1.8K/s 5s 
    
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-14-21).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-14-21).tar # 0.00 % of 10KB at 0B/s 0s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-14-21).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-14-21).tar # 100.00 % of 10KB at 10KB/s 1s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-14-21).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-14-21).tar # 100.00 % of 10KB at 10KB/s 2s 
    
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-18-05).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-18-05).tar # 0.00 % of 10KB at 0B/s 0s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-18-05).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-18-05).tar # 100.00 % of 10KB at 15KB/s 0s 
    
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-21-19).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-21-19).tar # 0.00 % of 10KB at 0B/s 0s 
    [2KCopying /tmp/site/FILE-site_(2020.02.06_13-21-19).tar -> mega:/backup/latest/FILE-site_(2020.02.06_13-21-19).tar # 100.00 % of 10KB at 15KB/s 0s 
    Successfully sync /tmp/site/ to mega:/backup/latest/ in 1m23s
  • Bash. Как прочитать лог файл в переменную после перенаправления "динамического вывода" &> file.log?

    @vebmaster Автор вопроса
    > Вывод _И_ ошибки нужно записывать так:
    так это тоже самое, только вы конкретно говорите программе выводить поток ошибок, в поток вывода.
    а в варианте
    &>
    мы сразу всё направляем в лог без деталей и подробностей. Чем проще, тем лучше, зачем себе усложнять и путать себя? Или я не прав? :)

    > Один из вариантов:
    Спасибо, я сразу об примерно таком варианте подумал, но решил что может есть какой то ключ

    OUTPUT=`cat -superMegaKeyForEmulateConsole log.txt`
  • Keepalived. VRRP. Будет ли работать Keepalived, если 2 сервера в разных ЦОД?

    @vebmaster Автор вопроса
    Георг Гаал, про простые решения - да я к этому уже и сам пришёл, чем проще, тем лучше, как мой вариант :)
    Если кто наткнётся на этот пост, то вот видео про простые решения репликации - https://www.youtube.com/watch?v=WM_dNIOSgkk
    Для интереса и развития, всё равно хочется узнать какие варианты есть ещё.

    Георг, а подскажите тогда ещё момент. Т.е. получается, что ip адрес можно перекидывать между ЦОДами разных компаний, правильно? но для этого надо договариваться между самими ЦОДами?
    И я так понял, что этот IP должен быть моим, купленным, правильно?
    Это я так общую картинку вырисовываю, как это работает.
  • Keepalived. VRRP. Будет ли работать Keepalived, если 2 сервера в разных ЦОД?

    @vebmaster Автор вопроса
    > Но есть исключение - если сделаете L2VPN или типа того.
    подскажите, правильно ли я понял, что L2VPN будет работать, только если это сеть одной компании. Если я покупаю сервера в разных двух компаниях/датацентрах, то услуга не сработает?
  • Keepalived. VRRP. Будет ли работать Keepalived, если 2 сервера в разных ЦОД?

    @vebmaster Автор вопроса
    > кэширование у провайдера
    что есть, то есть. Лучше уж задержка в 2.5 секунды, чем вообще недоступность сайта/магазина.

    > сбои на линии приведут к увеличенным таймаутам при хождении в бд
    если отключить 1 сервер, второй будет работать как ни в чём не бывало, т.к. каждый сервере использует свой localhost сервер.
    В моей схеме, каждый сервер = самостоятельный локальный сервер, который при наличии сети с другим, превращается в реплицируемый сервер.
  • Keepalived. VRRP. Будет ли работать Keepalived, если 2 сервера в разных ЦОД?

    @vebmaster Автор вопроса
    Георг Гаал, в соседней теме ответил пол часа назад на аналогичный вопрос, я уже сделал одно решение, которое работает, но всё равно интересуюсь более продвинутыми решениями.

    - два KVM VPS в разных ЦОД (400 - 700р за штуку)
    - nginx:80 -> apache:8080
    - Mysql репликация мастер-мастер
    - репликация файлов через clsync
    - репликация конфигов (nginx, apache, php, ssl, postfix) через clsync
    - работа с конфигами только на 1 сервере. Обновление SSL только на 1 сервере
    - php сессии реплицируем через memcachedrep
    - DNS round-robin, 2 А записи
    - весь трафик nginx направляет только на 1 сервер, второй помечен как backup
    - добавляете мониторинг через zabbix на всё что есть, чтобы видеть что и как работает
    - ещё можно использовать DNS-хостинг с API, чтобы через заббикс убирать недоступный ip из DNS выдачи.

    Пример: один из серверов недоступен/отключён.
    Если вы проверите как работает DNS round-robin, то заметите такой алгоритм:
    1) браузер подключается к 1 выданному ip
    2) пытается подключиться в течении 2 - 2.5 секунд
    3) если не получилось, то подключается к следующему ip
    4) т.к. 1 сервер недоступен, то nginx переключается к своему внутреннему apache и рабтает с ним
    ПРОФИТ!
  • Keepalived. VRRP. Будет ли работать Keepalived, если 2 сервера в разных ЦОД?

    @vebmaster Автор вопроса
    Георг Гаал, если говорить конкретно про cloudflare, то там есть водводный камень.
    Т.к. требуется направлять весь трафик только на 1 сервер, а на 2й только в случае недостпуности, то это уже у них идёт как дополнительная платная услуга, которая оплачивается после предоставления. И в случае паразитного трафика/ддос, может прийти счёт приличный
  • Keepalived. VRRP. Будет ли работать Keepalived, если 2 сервера в разных ЦОД?

    @vebmaster Автор вопроса
    Qrator/cloudflare - это точка отказа, в случае возникновения проблема на этих точках, дальнейшая цепочка не имеет смысла.
    Если завтра РКН заблокирует cloudflare, а второго ЦОДа нету, работающего сайта тоже нету.
    Решение ищется для обычных интернет магазинов, поэтому Qrator слишком дорогое удовольствие.
  • Почему php5.6 не видит memcached?

    Ububtu 18.04
    PHP 5.6.40
    удалось установить через pecl и то со специальным флагом
    CFLAGS="-fgnu89-inline" pecl install memcache-3.0.8
  • Имеется ли Glow-эффект на VA-мониторах?

    Максим Кудрявцев, спасибо, ага мерцания нету.
    Лишние usb выходы не бывают, я тоже замечаю в последние лет 6-7. Поэтому прикупил внешний usb-хаб d-link DUB-H7 с питанием, где 2 порта на 1,2 А, итого 7 портов на тумбочке. Тоже удобно.
  • 4K монитор для программирования: 32" или 43"?

    стол большой, место есть. Я щас монитор менять буду, т.к. понял что 23 дюйма 16:9 TN+ШИМ дают всё таки негативный эффект на глаза. Решил взять 24 дюйма 16:10, IPS матрицу.
    К томуже я очкарик, возможно ещё и поэтому тянусь ближе к монитору.
  • 4K монитор для программирования: 32" или 43"?

    Антон Р., спасибо, теперь точно не буду брать 27 дюймов, т.к. обычно 40-50см до монитора при работе с текстом/кодом.
  • 4K монитор для программирования: 32" или 43"?

    Антон Р., а на каком расстояние монитор до глаз? на работе и дома?
  • Имеется ли Glow-эффект на VA-мониторах?

    Максим Кудрявцев, если интересна тема подсветки за монитором, то через компьютер делают вот такое - PaintPack HD называется пример https://vk.com/mospaintpack?w=wall-55800275_3
    Программа берёт пиксели, что выводятся на текущий момент на монитор и подсвечивают соответствующую зону за монитором. В результате картинка расширяется. Чем больше светодиодов на ленте, тем лучше. На видео 50 дюймов, 116 зон.
  • Имеется ли Glow-эффект на VA-мониторах?

    Максим Кудрявцев, спасибо за ценные советы, взял на заметку освещение за монитором, уже подумываю как лучше осветить, т.к. это действительно помогает.
    Странно что 1600х900 не поддерживается, т.к. это 16:9 формат. Скорее всего потому что linux, я тоже когда то долго делал это разрешение, пару дней точно. Посмотрел спецификацию с офф. сайта и там тоже нет такого разрешения.

    Заметил, что Flicker-Free отсутствует в DELL P2418D. А карандашный тест на 50% яркости и меньше он проходит?
  • Имеется ли Glow-эффект на VA-мониторах?

    Максим Кудрявцев, как я понял собственное разрешение у него 2560x1440, а если поставить 1600х900 - сильно будет заметны неровности шрифта/границ при работе с текстом? Это самое большое разрешение, что я выставляю при обычной работе.