ЗаписиTOP 7 поисковых фраз (ответы на вопросы)

Всем привет!

Просматривая статистику по поисковым запросам, которые приводят на мой сайт, выявил популярные вопросы.

1 – shell du посчитать количество файлов

Вероятно, вас интересует, как посчитать количество файлов с помощью команды du (disk usage). Вообще, не очень понятен смысл считать количество файлов командой du, т.к. она показывает количество используемого места на диске. Обычно я считаю количество файлов с помощью команды find. Но раз вы так хотите, то и это осуществимо.

Для начала, чтобы посчитать количество файлов, нужно вывести все файлы в выбранном каталоге командой du. Для этого служит параметр -a или –all. Нижеприведенная команда показывает все файлы в каталоге /var

du -a /var
du --all /var

Потом нужно все эти файлы посчитать. Этим займется команда wc. Эта команда печатает количество строк, слов и байт в указанном файле, но в данном случае она будет брать не файл а входной поток. Т.е. вывод предыдущей команды она воспринимает как текстовый файл, и считает в нем строки, т.к. у нас каждый файл на новой строке. Чтобы команда wc считала исключительно строки, добавляем параметр -l (–lines). Выглядеть это будет так:

du -a /var | wc -l
du --all /var | wc --lines

У меня в /var получилось 24009 файлов. Кстати, если вы хотите подсчитать суммарный размер файлов, используйте команду du с флагом -s. И чтобы вывод был не в байтах, а в человечном виде (например в гигабайтах), нужно использовать еще флаг -h. Так можно узнать суммарный размер любого каталога.

du -sh /var
du --summarize --human-readable /var

2 – наложить патч на файл linux

Как это делается было объяснено в статье Создание и наложение патчей. Если что-то не понятно, пишите там в комментарии, я отвечу. Возможно вам придется поставить пакет patch чтобы установить недостающие компоненты, если что-то не работает.

3 – не запускается web клиент openerp

Здесь нужно смотреть, какие при этом он выдает ошибки в консоли терминала. Как правило не установлены нужные модули (зависимости). Посмотрите еще раз в документации по установке на сайте OpenERP (ссылка для версии 6.0.x, для 6.1 нужны другие зависимости)

4 – bash количество каталогов

Ну, это совсем просто. Нам потребуется использовать две команды в связке. Первая выводит все каталоги в нужной папке (type=directory), вторая, уже описанная в этом посте выше, считает количество строк в выводе и выводит результат.

find /var -type d | wc -l

5 – debian denwer

Извините, но зачем вам denwer на debian, когда полноценный веб-сервер ставится за одну минуту? Точно не уверен, но мне кажется что denwer под debian не существует, по крайней мере необходимости в нем на linux нет. Наберите команду:

aptitude update && aptitude install apache2 php5 mysql-server php5-mysql

можно еще добавить нужные вам библиотеки, например я обычно еще добавляю php5-gd для уменьшения изображений.

6 – linux bash shell команды

Постоянно обновляемый и пополняемый список полезных linux bash shell команд приведен на странице Полезные команды Linux

7 – кто работал с openerp

OpenERP сообщество в России еще не особо большое. Можно посмотреть в российской ветке форума OpenERP.

Еще есть arterp.ru – по ссылке имеется список клиентов с успешными внедрениями в России. Еще посетите wiki.arterp.ru, там есть инструкции со скриншотами и красивые схемы движения материалов :)

Блоги наших зарубежных коллег:
http://mohsinpage.wordpress.com/category/openerp/
http://www.zbeanztech.com/blog

С OpenERP также работаю я :)

  • мои записи по OpenERP можно посмотреть в этом блоге по тегу openerp.
  • написанные мной модули и патчи к OpenERP можно посмотреть на GitHub.

С OpenERP можешь начать работать и ты! Дерзай и все получится.

ЗаписиBash скрипт для дампа MySQL баз

У каждого владельца веб-сервера с базами данных MySQL встает вопрос о резервном копировании. Конечно, это можно делать вручную, например через phpMyAdmin или утилиту mysqldump, но зачем, если можно поставить в Cron на автоматическое выполнение? :)

Ниже представляю мой вариант (его выдача гораздо человечней, чем у большинства простеньких bash скриптов).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh
NAME=mysql
PERIOD=day
 
DIR=/var/backup/
 
BASES="base1
base2
base3
base4
base5"
 
USER=root
PASSWD="password"
 
 
##### BACKUP NOW #####
 
backupDB() {
        echo -n "Dumping $BASENOW..."
        ((mysqldump -u $USER -h localhost -p$PASSWD $BASENOW | gzip -c > $DIR$PERIOD.$NAME.$BASENOW.sql.gz) \
        && echo -n "ok "; du -h $DIR$PERIOD.$NAME.$BASENOW.sql.gz | awk '{print($1)}') \
        || echo "ERROR!!!"
 
}
 
echo -e "\n## Dumping MySQL Databases ##"
 
for BASENOW in $BASES
do
        backupDB
done