Я продовжую писати про Битриксе в контексті обмінів, Mysql і командного рядка Linux.

Ця стаття є вступною до серії статей про структуру бази даних Бітрікс, де ця тема буде розкрита досить докладно. Для початку будуть представлені рішення деяких невеликих, але настирливих завдань. Як завжди, знання SQL обов'язково.

У статті розглядаються досить приватні питання, які виникають щодня. Звичайно, ви можете використовувати ці матеріали за їх прямим призначенням, але головна мета статті не в цьому. Я починаю розкривати «чорний ящик» під назвою «структура бази даних бітрікс», і показувати, що ці знання можуть знадобитися для підвищення рівня володіння як системою, так і базовими технологіями (SQL, linux shell), що, звичайно, допомагає вирішувати нові, складні, цікаві, різноманітні завдання.

Сторінка, з якої можна робити SQL запити до бд, або mysql web клієнт бітрікс, знаходиться в панелі управління Битрикса по шляху: Настройки->Інструменти->SQL запит».

Також, звичайно, можна робити запити з командного рядка операційної системи, для чого можу запропонувати вам нескладну операцію з отримання логіна та пароля з налаштувань Битрикса:

log=$(grep -i "login" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"')
pas=$(grep -i "pass" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"')
mysql -u$log -p$pas $log

— таким чином можна отримати логін і пароль до бази даних Mysql Bitrix з командного рядка linux на bash. Шляхи, звичайно ж, замініть на ваші власні. У варіанті, що надається виртаульной машиною Бітрікс, DOCUMENT_ROOT виглядає як /home/bitrix/www/.

Читати далі →

Стандартний обмін 1С-Бітрікс на BASH: Докладний розбір скрипта инкрементальной вивантаження

Для забезпечення синхронізації каталогу товарів між системою 1С і сайтом на системі управління Бітрікс, використовується стандартний для Битрикса протокол обміну XML файлами у форматі CommerceML, заснований на передачі від 1С до Битриксу HTTP GET і POST запитів з певними параметрами, і отриманні стандартних відповідей, що містять статус операції, що позначає результат її виконання.

першій статті цієї серії дано обґрунтування можливості застосування окремого скрипта, що бере сформовані 1С або іншою системою або програмою, XML файли, і передавального їх Битриксу, використовуючи стандартний протокол.

У цій статті я дам докладні коментарі до кожної рядку скрипта. Це дозволить спростити його модифікацію під ваші потреби.

Скрипт написаний на BASH і є одним з кількох сценаріїв, що забезпечують різні обміни через один і той же стандарт, який пропонує 1С-Бітрікс для передачі каталогу товарів з 1С і завантаження замовлень з сайту, побудованого на основі системи управління Бітрікс.

Далі йде текст скрипта з коментарями. Короткий вид скрипта, що містить виключно код, наведений у попередній статті, і доступний github проекту bitrexchange.

Читати далі →

Стандартний обмін 1С-Бітрікс на BASH: инкрементальная вивантаження XML файлів каталогу import і offers

Коли говорять про переваги 1С-Бітрікс, в перших словах згадують про легкої інтеграції з 1С. Взаємодія з 1С Бітрікс здійснюється за допомогою передачі даних у форматі CommerceML, який визначає формат XML файлів. В додаток до цього Бітрікс пропонує і стандарт обміну цими XML файлами між 1С і сайтом. Обмін полягає у відсиланні з 1С звичайних HTTP GET і POST запитів на сайт і отримання від сайту простих відповідей, які визначають результат виконання команди.
Зазвичай декларується, що в складі 1С існує якийсь "стандартний обмін з сайтом", який повинен працювати відразу після включення. На практиці, реалізація обміну виявляється не такою тривіальної завданням, як це здається спочатку. Є скарги на те, що модуль обміну з сайтом 1С надмірно завантажує систему і вимагає доопрацювань під конкретні потреби. Тобто, по факту, обмін начебто і є, але щоб змусити його працювати так, як потрібно, необхідно докласти зусилля.
Є ще кілька причин, щоб вклинитися в стандартний обмін:
  • По-перше, джерелом даних для сайту не завжди може бути 1С. Це може бути якась інша інформаційна база або база іншого сайту.
  • Крім цього, може виникнути ситуація, коли дані з 1С потрібно доповнити іншими даними або змінити їх.
  • Не завжди є вільні програмісти 1С, які можуть зайнятися доробками стандартної вивантаження або усуненням неполадок в ній.

Читати далі →

Рецепти. Установка на сервери в VMmanager і DCImanager



Погодьтеся, приємно отримати сервер вже готовий до виконання завдань. Встановлений ISPmanager дозволить відразу приступити до розміщення сайту. Teamspeak – організувати тренування по WoT без витрати часу на інсталяцію.
Провайдери за рахунок цього підвищують дохід. Сьогодні вони пропонують не просто машини з чистою ОС, а бухгалтерські, торгові, ігрові сервери. «Передпродажна підготовка» підвищує лояльність клієнтів і зменшує навантаження на техпідтримку.

Спочатку в наших продуктах це було реалізовано за допомогою установки потрібних пакетів через Шаблон ОС. Проблема в тому, що шаблони вимагають значних витрат на створення, підтримку і актуалізацію. Все ускладнюється, коли клієнт просить зробити попередню непопулярного набору пакетів. Приміром, BigBlueButton, платформи для проведення вебінарів. Користувач замовляє VDS і проводить відеоконференції, але тільки раз в 3 місяці. Він не хоче витрачати по 30 хвилин на інсталяцію ПЗ при кожному замовленні виділеного сервера. Провайдеру ж подібні запити не завжди цікаві. Вузькоспеціалізований шаблон деколи тягне невиправдані витрати.
Під катом ми розповімо про те, як вирішити такі проблеми за допомогою рецептів — скриптів, які виконують автоматичну установку ПО VMmanager і DCImanager.


Читати далі →

Використання хардлинков (hardlink) для інкрементального бекапу Synology DSM



Система DSM досить зручна і по умолчению в системі встановлені модулі, які закривають 95% потреб пересічного (і не дуже) користувача, що називається «з коробки».

Є вбудована система резервного копіювання: Backup & Replication. Проста, зрозуміла і надійна. В якості мережевого місця призначення може використовувати або схожу Synology, або rsync сервер.

На жаль, ця система не вміє робити інкрементальний бекап. Самий примітивний спосіб обійти це — налаштувати окремий бекап на кожен день тижня. Таким чином у нас буде 7 папок з резервними копіями, але очевидний мінус — зберігання повної копії в кожній папці — обсяг може вийти таким, що не кожен дозволить собі таке сховище.

Отже — налаштуємо повноцінний інкрементальний бекап.

Читати далі →

Сервіс моніторингу вільного місця на Bash

Добрий день! Хотілося б розповісти Вам про черговий велосипедостроении. Переглядаючи Хабр, я натрапив на чудову статтю: Bash: запускаємо демон з дочірніми процесами. Після прочитання виникла ідея написати що-небудь корисне, з преферансом і куртизантками, куди ж без цього.

Вступна:
ОС: Astra Linux 1.2 (1.3)

З вступної випливають два висновки:

  1. не Можна встановлювати не сертифіковане ПО, інакше ми спіймаємо люту попаболь з двох напрямків (Замовник та Керівництво).
  2. Т. до. ми справжні піонери і не шукаємо легких шляхів, то висновок команди df нас не цікавить.

Читати далі →

ToFoIn - Toggle Failover of Internet або перемикання між двома зовнішніми каналами в FreeBSD

Анотація

Одним з варіантів підвищення стабільності підключення до мережі Інтернет є використання двох зовнішніх каналів зв'язку, що передбачає автоматичне перемикання між ними. У статті коротко розглянуті деякі варіанти розв'язання даної задачі. Запропонований спосіб вирішення з використанням скриптів на мові bash в ОС FreeBSD, наведені інструкції по створенню кінцевої системи і вихідні тексти необхідних для цього скриптів.

Читати далі →

Реверс-інжиніринг для самих маленьких: злом кейгена

  Цей пост буде цікаво дійсно тим, хто тільки починає цікавитися цією темою. У людей з досвідом він, можливо, викличе тільки позіхи. За винятком хіба що, може бути, епілогу
Реверс-інжиніринг в тій менш легальної частини, де він не стосується налагодження та оптимізації власного продукту, стосується в тому числі і такого завдання: «дізнатися, а як у них це працює». Інакше кажучи, відновлення вихідного алгоритму програми, маючи на руках її здійсненний файл.
Для того, щоб триматися азів і уникнути деяких проблем — «виламаємо» не що-небудь, а… кейген. У 90% він не буде запакований, зашифрований чи іншим способом захищений — в тому числі і нормами міжнародного права…
 
Читати далі →

Запуск tmux-вікна, адаптованого для зручної роботи з Ruby on Rails

Добрий день. З недавніх пір став вивчати Ruby on Rails. До цього рік програмував на c # (asp.net). Перехід на рубай означав так само перехід на Ubuntu і тісна взаємодія з терміналом. Рубі вивчаю з даного онлайн-підручником: railstutorial.ru . На борту маю Ubuntu 13.04.
 
Робота з RoR бод Ubuntu увазі багато термінальних вікон. В одному rails сервер, в іншому Guard зі Spork, в третьому Ruby-консоль і пр. В інтернеті натрапив на програму під назвою tmux . Не вдаючись у подробиці скажу, що вона дозволяємо в одному термінальному вікні працювати з декількома консолями (хай вибачать мене лінуксоїди за терміналогіі).
Читати далі →