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