Skip to content

MongoDB River Plugin для ElasticSearch не заработает, пока монга, из которой надо читать - не будет иметь коллекции rs.oplog

Именно эта коллекция нужна плагину, для того чтобы подхватывать изменения в монге и складывать их в индекс ElasticSearch'a.

Кажется, таки нашел то самое решение, которое отвечает всем запросам, предъявляемым к софту для синка данных. Всё началось с того, что dropbox  не захотел синкать мои симлинки.

Долгая дорога к счастью:

Dropbox - с него всё началось. Но у него обнаружились следующие проблемы -  он медленный; из-за того что данные хранятся на серверах дропбокса - пришлось выдумывать шифрование данных в дропбоксе при помощи fuse модуля encfs и последующего монтирования этой зашифрованной директории. Из-за зашифрованных имён возникали некоторые  трудности в поиске файлов, которые дропбокс не мог синхронизировать (например из-за отсутствующих прав на чтение). И дропбокс не мог симлинки. А мне симлинки нужны. А ещё у меня так и не заработал LAN sync.

ownCloud - клёвый, но тоже не может симлинки. Если для использования в компании, как аналог гугла - то клёвый. Если для всяких девопсеров, которые любят симлинки - то нет :) Еще - нет консольной утилиты, либо демона, который синкал бы данные в фоновом режиме.

Unison -  не рассматривал, много нюансов, мало плюшек. Сойдёт для двух серверов, которые видят друг-дружку.

BitTorrent Sync - Это оно! Btsync умеет симлинки. Из-за того что он построен по технологии p2p - данные быстрее синкаются, если много сидов. Не хранит данные на чужих серверах. Наконец-то можно не дрочиться с шифрованием. Есть мелкие баги, но терпимые.

UPD: Всё хуйня Миша, давай по-новой :) Btsync, после пары недель использования, оказался не таким распрекрасным. Не умеет корректно удалять файлы у всех пиров при удалении файлов на одном из них.

Теперь юзаю Unison, он - то что нужно.После включения ноды, которая была выключена на протяжении месяца - на все остальные  прилетело 15 гигов данных, которые были ранее удалены. Unison тоже говно.

Нужно искать какое-то решение с хранилищем метаданных.

UPD 2021.01.23: Последние три года - юзаю Syncthing и вполне доволен.

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

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

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

От Днепра до Донецка 200 км по прямой.

Средняя скорость меня на велосипеде - 20 км/ч.

За 10 часов я могу доехать на войну. Охуеть.

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

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

Ещё - дома не нужно в автозапуске всё то что есть на работе.

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

В conky всё вышло безболезненно, там в конфиге просто было нужно было сотворить конструкцию вида:

some code
${if_match "$nodename" == "homepc"}
some individual code #1
${endif}
${if_match "$nodename" == "workpc"}
some individual code #2
${endif}

А вот в Awesome пришлось повозиться, но решение было найдено. Так как конфиги авесома написаны на Lua, то найти способ получения хостнейма - не проблема.

Вот что вышло:

function getHostname()
    local f = io.popen ("/bin/hostname")
    local hostname = f:read("*a") or ""
    f:close()
    hostname =string.gsub(hostname, "\n$", "")
    return hostname
end

hostname = getHostname()

if hostname == "homepc" then
        run_once("conky")
        run_once("psi")
        run_once("claws-mail")
        run_once("/opt/google/chrome/chrome")
elseif hostname == "workpc" then
        run_once("xscreensaver -no-splash")
        awful.util.spawn_with_shell("xrandr --output VGA1 --mode 1920x1080 --right-of HDMI1")
        run_once("conky")
        run_once("psi")
        run_once("skype")
        run_once("iceweasel")
        run_once("claws-mail")
        run_once("/opt/google/chrome/chrome")
        run_once("/usr/bin/python","/usr/bin/nagstamon")
else
        run_once("conky")
end

 

Сижу, осваиваю GNU Cash.

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

Тут есть всякие штуки, которых я боюсь и не понимаю, но чувствую что они клёвые :)

Графики, хуяфики, отчёты, бюджеты. Кароч те вещи, которые не может сделать гуглотабличка.

Через пару месяцев смогу маслать бухгалтером на пол-ставки. :)

кот-бухгалтер

-"Начальник, этот пидарас опять обосрался!"

В прошлом году это случилось в сентябре. А теперь вот пораньше :)

Сначала я думал что во дворе насрали. Потом подозревал что это воняет говно, налипшее на колёса велосипеда. Но нет.

Это благоухает река Днепр. Это нифига не выбросы заводов. Это речное говно :)

Новая информация, это не Днепр :) Это мусор в Красноповстанческой балке горел. И до сих пор тлеет.

http://dp.vgorode.ua/news/231602-otkuda-voniaet-vchera-horel-musor-v-krasnopovstancheskoi-balke

Теперь говорят о вероятном выбросе сероводорода одним из предприятий Днепропетровска.

http://dp.vgorode.ua/news/231914-v-dnepropetrovske-serovodorod-v-vozdukhe-prevyshaet-normu-v-poltora-raza

govno2

Сидели посоны во дворе, киряли и пели песни. Напрягало.
Но когда начали петь "Путин кушает какашки" - настроение улучшилось, посоны норм кароч :)

Example:

gtf 1280 1024 60

Save the resulting output as an example:

Section "Monitor"
    Identifier "Monitor0"
    Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync
EndSection

Section "Device"
    Identifier "Card0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    SubSection "Display"
        Modes "1280x1024_60.00"
    EndSubSection
EndSection

 

π