PostgreSQL coub express.js freeware git jquery laravel links linux macos mysql node.js php powershell python ubuntu vim virtualbox анекдот блог игры интересно стихи цитаты

Линукс это здорово. Суть проблемы такая. Вот прямо с листа как есть, думаю есть много похожих проблем водится у народа. Есть папка с компилированными шаблонами смарти. Если грохнуть все компиленные шаблоны в ерорлоги нападает ошибок на тему не могу найти бла-бла-бла такой шаблон. Это потому, что боевая площадка под нагрузкой, и удаление попадает между вызовом страницы с проверкой оригинала шаблона + проверкой наличия компиленной версии и обращению к скомпилированному шаблону. То есть обратились, оригинал проверили ок и скомпиленный шаблон есть, а тут мы такие со своим удалением. Ну это ерунда конечно. Пользователь просто увидит недозагруженную страницу без ошибок, клацнет по ф5 и расслабится, поскольку на этот раз штатный механизм отработает правильно и шаблоны перекомпилируются.

Так вот, чтобы не грохать всё и не портить людям жизнь ("не ломайте мой кайф!!!" ©) бывает нужно грохнуть один единственный шаблон с уникальным именем. Скомпилированные шаблоны имеют не сильно красивые имена вроде
%что-то_адское%оригинальное_имя_шаблона
В mc искать неудобно, то есть просто нереально потому что он совсем некрасиво сокращает имена. Как быть. Да всё просто.
# убедимся что мы в целевой папке
pwd
# ага, всё ок, теперь ищем шаблон
ls | grep ololo
# тут нам вернут имя шаблона, можно просто набить unlink 
# выделить полученное имя и копирнуть его в командную строку
# но когда тебе надо это исполнить раз несколько подряд.. 
# мышь утомляет. Как автоматом сунуть анлинку результат? Легко!
unlink `ls | grep ololo`
rem: unlink не возьмет больше одной строчки с параметрами. Поэтому если греп вернет больше одного файла всё поломается. Для страховочки можно использовать ключик для грепа который ограничевает кол-во результатов, выглядит это так grep -m 1 ololo, тут греп вернет строго не больше одного файла. Но это уже по сути к делу не относится. Этот тип для разумных, мыслящих гуманоидов тусующих по консолям.
Дальше конечно возник вопрос как быть если хочется грохнуть все файлы по маске а не только первый найденный. Выручили старшие товарищи, получилось сложнее и в то же время интереснее. Итого:
ls -1 | grep ololo | while read; do unlink "$REPLY"; done
Чтобы понять что происходит вместо unlink можно вставить простое echo.


Линукс придумали потрясающие люди и им надо поставить памятник. Всем. Всё просто:

# Тут ещё приделана выборка для именно 302-х запросов

tail -f /var/log/lighttpd.access.log | grep ' 302 '

# Прервать сей поток можно магическим сочетанием контрол + Ц. Собственно и всё.
# P.S.:  -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent




Не работает setlocale да? Всё, приплыли? :) Это совсем просто на самом деле. Делаем пару пассов руками и негромко материмся..
localedef -c -i ru_RU -f CP1251 ru_RU.CP1251
И для проверки исполняем:
locale -a | grep ru
Должны увидеть нашу сгенеренную. Но для работы этой локали мне например пришлось вирт машину перезагрузить :(


Мне это понадобилось потому что моя девзона работает внутри виртуальной машины, в которой время регулярно теряется и переставляется. Хотя бы просто потому, что виртуалка выключается за ненадобностью в нерабочее время. В общем синхронизироваться совсем просто на самом деле:

# Проверяем текущую таймзону
more /etc/timezone

# Если надо конфигурируем правильную? ту которая нам нужна
sudo dpkg-reconfigure tzdata

# Ставим собственно сам модуль
sudo aptitude install ntpdate

# Обновляем локальное время с удаленного ntp-сервера (ntp-сервера можно поглядеть в Gooogle)
sudo ntpdate 0.ru.pool.ntp.org


aghr