.
Место для Вашей рекламы
29 Декабрь 2014

Создание архива с исключением файлов и папок

backup_date=»$(date +%d.%m.%Y)»
backup_filename=»$(date +%d.%m.%Y)_backup_filename»

cd /patch/to/dir/
tar -czvf — —exclude=www/photo —exclude=www/uploads —exclude=’*.zip’ —exclude=’*.jpg’ ./www/ | split -b 1999m — ./$backup_filename.tar.gz

рубрики: NIX, Администрирование | Комментарии (0)

29 Декабрь 2014

FREEBSD — увеличение размера системного диска

Итак, одна из моих виртуальных машин поднималась на FREEBSD и так оказалось, что размер диска под систему был выбран слишком маленьким.
Добавить гигабайт в VMWare не проблема — а вот дальше, не тривиально:
Итак, винт ЗАБЭКАПИЛИ, расширили, далее:
gpart show
ругается на винт — CORRUPT
gpart recover da0
gpart show
уже лучше — свободное место видим, НО разбивка не позволяет объединить корневой раздел с этим свободным местом из-за SWAP
я решил под SWAP вообще отдельный виртуальный винт создать и скинуть его туда полностью
сказано, сделано — вырубаем VM, ADD HDD, врубаем
размечаем новый винт и создаём на нём раздел под своп
sysinstall, fdisk, label
далее переключаем систему на работу с этим свопом — правим /etc/fstab ребутим систему
смотрим top — ага, размер рабочего свопа совпадает с выделенным — значит всё ОК
далее проще — нужно убить слайс со свопом и расширяем корень на свободное пространство
ребут, идём в single режим
убиваем слайс со старым свопом gpart delete –i3 da0
пробуем растянуть корневой слайс gpart resize –i2 da0
облом, требует параметр ядра поправить
правим sysctl kern.geom.debugflags=16
gpart resize –i2 da0
ура!
правим назад sysctl kern.geom.debugflags=0
далее нужно расширить файловую систему
growfs -y /dev/da0p2
df не видит свободное место
fsck -yf -t ufs /dev/da0p2
а вот теперь всё ОК!

рубрики: NIX, Администрирование, Полезности | Комментарии (0)

26 Декабрь 2014

NIX — как разбить файл на части и склеить обратно

В продолжении предыдущего поста, ещё полезная команда (при работе с большими файлами)
Разбить файл «кусками» по 700 мегабайт

split -b 700m archive.tar part

Собрать обратно

cat part* > archive.tar

рубрики: NIX, Администрирование, Полезности | Комментарии (0)

26 Декабрь 2014

Как добавить в архив только новые файлы

Перетаскиваю довольно крупный проект — в сжатом виде >40 Гб.
Даже физически файлы перетащить — по времени половина дня уйдёт.
Пока перетащил, настроил, потестил — уже заново нужно перетаскивать в силу произошедших на сайте изменений.
Вот тут то и пригодится очень полезная команда, вернее связочка, добавляющая в архив только файлы созданные/изменённые за последние N дней


find . -type f -mtime -10 -print0 | xargs -0 tar -cjf archive.tar.bz2

В закладки, полезняшки и т.д. однозначно!

P.S.

ВНИМАНИЕ — на рабочем проекте у меня такая связка даёт сбой!!! думаю из за ограничения на длину данных передаваемых xargs

такая конструкция вроде пашет


find . -type f -mtime -10 -print0 | zip archive.zip @

ещё экспериментирую с параметром -n в xargs — пока безрезультатно

P.S.S.
Спасибо большое drBatty за помощь в решении проблемы в ветке форума

всё правильно: xargs режет список аргументов дозами по несколько сотен..тысяч имён файлов. Дальше у вас записано «tar —create» что значит «создать архив». Он и создаётся несколько раз. Вы наблюдаете только последний вариант.

Если вы хотите делать обязательно так, то вам следует использовать —append, которая не работает для сжатых файлов, потому вам следует ещё потом сжать, как в третьем варианте.

А вообще мне понравился вариант с промежуточным файлом — сначала выдёргиваем в файл все файлы find-ом, потом уже скармливаем его tar-у

#!/bin/bash
set -x
TMP=$(mktemp)
find -mtime -10 >$TMP
tar —create —files-from $TMP
rm —force $TMP

рубрики: NIX, Администрирование, Полезности, Программирование | Комментарии (0)

19 Декабрь 2014

Быстрое редактирование элементов в интернет магазине Битрикс

Продолжаю работать с ИМ Планета Обоев — корейские обои

Итак, в номенклатуре более тысячи товаров каждому из которых нужно присвоить цвет.
Если посчитать количество действий и нажатий кнопок мышки для того, чтобы сделать это нехитрое действие для каждого элемента — становится жутковато.

Собственно, сваял на коленке очень полезный скриптик (см.рисунок) — клик по цвету ниже фотки сразу же присваивает этот цвет элементу без каких либо лишних окошек и вопросов.
Такая обработка ИМХО в разы ускорит процесс.
(аналогичные скрипты можно написать для работы с любым свойством)

Быстрое редактирование элементов в интернет магазине Битрикс

рубрики: Bitrix, Полезности, Программирование | Комментарии (0)

16 Декабрь 2014

FireBug сеть — анализ скорости загрузки страницы

Продолжаю мучать интернет магазин корейских обоев.
Сейчас решил посмотреть сайт с точки зрения Запрос-Ответ, скорости отдачи контента и в целом как страничка принимается браузером.

Для этой цели я использовал расширение для браузера FireBug — закладка «Сеть» (см.рис).

site-speed

Сразу же обнаружил косячёк — какого то хрена морда дёргает детальные изображения товара, что конечно же сильно притормаживает отдачу страницы в целом!
Рекомендую!

Тяжесть страницы давали все компоненты размещённые на морде.
В данном шаблоне интернет магазина используется MORE_PHOTOS как дополнительные фотки, и у меня там лежат детальные — для возможности просмотра в увеличенном виде.
Эти же детальные используются для вывода дополнительных (вторых) фоток для превьюшки (имхо по идее нужно новое поле делать и пихать туда умешьшенные).
Вырубить эту возможность в настройках компонент не получилось — пришлось «рубить» на живую.
Копирнул все шаблоны и там заменил дополнительные картинки на превью.
(по специфике моего товара мне дополнительные картинки не требуются).

Сраничка стала открываться В РАЗЫ быстрее!!!

Ту же процедуру придётся применить ко всем шаблонам выводящим списком 🙁

рубрики: Полезности, Программирование, Сайтостроение | Комментарии (0)

16 Декабрь 2014

Разработка интернет магазина на Битрикс — добавление умного фильтра на главную страницу

Итак, продолжаю доработки интернет-магазина Планета обоев на движке Битрикс, фактически знакомство с этим модулем.
Кратко о том, что уже сделал:
* Импорт каталога из выгрузки 1С сделал полностью с нуля свой — так я полностью контролирую процесс 🙂
* Прикрутил «обратный звонок»
* Прикрутил «прокрутку к началу страницы»
* Прикрутил «почтовик» — отправка писем через сторонний SMTP сервер (в моём случае это yandex т.к. почту домена в виде @dekorplanet.ru прикрутил именно туда) — так адресат увидит свои письма с гораздо большей вероятностью 😉
* Воткнул сторонний слайдер (тут ещё видимо буду переделывать)
остальные модули стандартные Битриксовые
* В целях сбора поискового трафика подготовлены отдельные страницы с уже отфильтрованными товарами * 3D Обои, Детские обои и т.д. (есть сомнения в правильности реализации — тут тоже не закрыто)

Решил «прикрутить» на главную фильтр! а именно в область под вертикальным меню слева
Под эту задачу отлично подошла статья Дмитрия Акифьева Перенос умного фильтра в Битриксе

Результат:
smartfilter-1

Всё описанное в видео получилось сразу НО мне захотелось большего — прикрутить умный фильтр на главную страницу сайта (имхо там ему и место).
Добавил смарт фильтр на морду в тоже место — не пашет. Не работает как подсчёт количества, так и переход по кнопке.
Ответ Дмитрия на мои вопросы оптимизма не придал:
* «Умный фильтр работает в жесткой сцепке с компонентом списка товаров. Если на странице нет списка товаров, то и отбирать нечего и фильтр бесполезен.»
* «Делайте свой компонент, реализуйте в нем нужную логику (из каких инфоблоков что берет, как фильтрует, сортирует и т.д. ), делаете для этого компонента шаблоны и выводите все это безобразие на любой странице.»

Что придало уверенности так это то, что фильтр правильно увидел все характеристики и «подтянул» их для выбора, так же я знаю что по сути работа фильтра — это генерация GET запроса в массив фильтра arrFilter, который уже может подхватываться любым компонентом отображающим товары, а запрос этот фильтр генерирует верно.
Значит по сути должно работать — осталось просто разобраться почему не пашет и починить 🙂

smartfilter-2

Первое — это корректировка темлейта фильтра на предмет form action на страницу с каталогом, проверка — работает!

Далее разбирался с AJAX подсчётом товара — роем компонент:
В фильтр передаётся значение SECTION_ID через GET параметр, соответственно для морды у меня SECTION_ID = 0 и он же передаётся в $arrFiler GetList
Добавляем в компонент проверку
if ($arFilter[‘SECTION_ID’]==0) unset($arFilter[‘SECTION_ID’]);
и подсчёт тоже начинает работать корректно!

smartfilter-3

Одно НО — ссылка в появляющемся окошке должна так же вести на каталог.
Т.к. окошко появляется — это явно Javascript + Ajax — роем script.js в темлейте и обнаруживаем необходимый нам код

hrefFILTER[0].href = BX.Utils……….
который меняем на
hrefFILTER[0].href = ‘/catalog/oboi’+BX.Utils……….

Вуаля! Всё пашет!

Одна проблемка — внешний фильтр работает с каталогом только при включенном в комплексе умным фильтром (тут ещё не ковырял)
Временно, в качестве выхода из положения, на страницы каталога оставил внутренний фильтр, а на внешние странички прикрутил отдельный.

рубрики: Bitrix, Полезности, Программирование | 4 комментария

Яндекс.Метрика