Yii2Объединение CSS и JS файлов и их минификация

Качаем http://dl.google.com/closure-compiler/compiler-latest.zip и https://github.com/downloads/yui/yuicompressor/yuicompressor-2.4.7.zip в корень проекта – @webroot.

Создаем шаблон в этой же папке:

Далее необходимо отредактировать шаблон – раскомментировать строки и поправить необходимые пути. После этого выполняем в корне проекта:

Если все успешно сгенерировалось, то в главном конфиге подключаем сгенерированные бандлы:

Чтобы эти команды можно было выполнять на продакшене, можно поставить yuicompressor – он подтянет все зависимости. На примере Ubuntu 14.04:

bash, Mac OSУстановка dnsmasq

Чтобы каждый раз не прописывать хосты в /etc/hosts, установим локальный DNS-сервер, который будет отправлять все запросы к урлам вида *.dev на 127.0.0.1.

Добавим в файл /usr/local/etc/dnsmasq.conf строчку:

Подготавливаем dnsmasq к запуску при загрузке системы:

Запускаем:

В настройках подключения надо прописать DNS-сервера таким образом, чтобы 127.0.0.1 оказался выше всего. Например, так:

Пробуем пинговать:

bash, Mac OSАвтозапуск nginx в Mac OS X

Если nginx установлен через brew и висит на 80-м порту (или любом другом порту, меньше 1024), то запускаться автоматически при загрузке системы он не будет, хоть и прописан в ~/Library/LaunchAgents.

Для того, чтобы он запускался, надо сделать следующее:

В файле /Library/LaunchDaemons/homebrew.mxcl.nginx.plist добавить/изменить секцию UserName, чтобы выглядело так:

Останавливать/запускать nginx теперь можно следующими командами:

LinuxБэкап всех баз данных по расписанию

Устанавливаем xtrabackup:

В домашней директории пользователя sites создаем директорию для бэкапов:

В файл /root/.mysql помещаем пароль от MySQL пользователя root.

Делаем скрипт, который будет все запаковывать в один файл:

Содержимое файла:

Даем права на исполнение:

Ставим выполнение задачи на крон рута:

MySQLПользователь с удаленным доступом в MySQL

Не забыть закомментировать bind-address в /etc/my.cnf:

bash, Mac OSssh-copy-id в Mac OS X

Копировать свой ключ на удаленный сервер можно следующим образом:

LinuxУдаленное подключение к mongo

Сразу после установки добавим админа:

Идем в /etc/mongod.conf, редактируем настройки:

Перезагружаем:

Можно проверить локальное подключение:

bash, LinuxЦиклический запуск скрипта в консоли

Есть задача: необходимо запускать один и тот же скрипт заново, как только он закончил отрабатывать – самый обычный парсер. Нельзя делать бесконечный цикл – периодически падает. Необходимо, чтобы внешняя программа сама запускала наш скрипт, как только он закончит выполняться. Делаем все при помощи watch и анализом вывода ps:

1) Создаем скрипт, который контролирует, запущен ли наш парсер или нет. Если нет, то запускает его:

2) Следим за изменением вывода нашего скрипта раз в секунду:

За выводом-то мы на самом деле и не следим, он у нас в /dev/null перенаправляется. Но при этом скрипт parse.sh дергается раз в 1 секунду. Это все можно реализовать на bash с помощью бесконечно цикла и sleep().

bash, LinuxРекурсивное создание ZIP архивов

Если надо рекурсивно обойти все подпапки и все вложенные файлы добавить в отдельный ZIP-архив, а потом удалить оригинальный файл, то делается это так:

Можно с помощью bash-скрипта: