Директории с большим количеством файлов

Получилась однажды интересная ситуация, в одной директории оказались миллионы файлов.
Причем часть из них — нужные.

При попытке посмотреть список файлов естественно получится ступор на длительное время.
Как вариант их можно посмотреть через FTP, у которого за частую стандартный лимит на количество отображаемых файлов 10 000, например FTP клиентом FileZilla удобно перемещать файлы по директориям, но этот вариант длительный, из-за того что время еще тратится на FTP запросы, нагрузка на диск при этом низкая.

Если файлы не нужные, их можно удалить командой (с запросом подтверждения на удаление):

rm -r /dir/

Или удалить все без запроса вместе с директорией:

rm -rf /dir/

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

cd /dir/
find -size -2 -type f -print -delete

Перед удалением можно посмотреть количество таких файлов и общее количество, однако это тоже длительные процесс:

find -maxdepth 1 -size -2 -type f -print | wc -l
find -maxdepth 1 -type f -print | wc -l

Если вместо -2 указать 0, то будут удаляться файлы с нулевым размером, то есть пустые.

Если нужно отсортировать файлы по директориям, перейдем в директорию с файлами, создадим нужные директории, например по датам и переместим файлы по шаблону (все у которых название начинается на 2017, -maxdepth 1 указывает что не нужно искать файлы в поддиректориях):

cd /dir/
mkdir 2017
find -maxdepth 1 -type f -name '2017*' -exec mv -vn -t /dir/2017 {} \+

Результат выполнения можно записывать в файл добавив к команде «> файл», например:

find -maxdepth 1 -type f -name '2017*' -exec mv -vn -t /dir/2017 {} \+ > /dir/dir/file.log

Перенос работающей системы Ubuntu на другой диск

На тесте использую систему Ubuntu Server 14.04.5 LTS.

И так, на работающей системе переключимся на root пользователя:

Читать далее «Перенос работающей системы Ubuntu на другой диск»

Резервное копирование Linux в архив и восстановление из него

На тесте приведу пример примитивного копирования Ubuntu Server системы в архив и восстановление на той же системе либо на чистой новой.

Читать далее «Резервное копирование Linux в архив и восстановление из него»

Решение «Suspicious process running under user» и «Excessive resource usage»

Иногда некоторые нужные процессы используют много ресурсов на сервере и система начинает часто уведомлять об этом на email.
Например как в моем случае, после установки Zabbix агента начали приходить уведомления:

Читать далее «Решение «Suspicious process running under user» и «Excessive resource usage»»

Как включить Horde, SquirrelMail и RoundCube в cPanel

cPanel позволяет использовать сразу несколько web интерфейсов для просмотра почты, иногда они могут быть отключены или возможно некоторые из них нужно отключить.

Читать далее «Как включить Horde, SquirrelMail и RoundCube в cPanel»

Поиск текста с использованием grep

grep — утилита для поиска указанного текста в файлах, именах файлов и т.д. из командной строки.

Читать далее «Поиск текста с использованием grep»

Установка и настройка Postfix

Postfix — агент пересылки почты (MTA — mail transfer agent) с открытым исходным кодом.

Допустим к IP адресу сервера привязано доменное имя, от которого в дальнейшем будет рассылаться почта.

Читать далее «Установка и настройка Postfix»

Установка и использование iotop

iotop — консольная программа отображающая статистику использования дискового пространства.

Установить в Debian, Ubuntu, Mint можно командой:

sudo apt-get install iotop

В Red Hat, Fedora,CentOS:

yum install iotop

Обычный запуск:

iotop

Запуск с опцией:

iotop ОПЦИЯ

Опишу возможные опции запуска:
—version (просмотр версии)
-h (просмотр справки)
-o (отображение только активных процессов или потоков которые выполняют чтение или запись, вместо отображения всех)
-b (включение не интерактивного режима, удобного например для вывода информации в файл)
-t (отображение времени в каждой строке, для не интерактивного режима -b)
-n ЧИСЛО (число итераций после которого будет выполнен выход, если не указано, то стандартно не выполняется выход)
-d ЧИСЛО (задержка между итерацией в секундах, можно указать не целое число, стандартное значение 1)
-p PID (отображение статистики только для указанных процессов/потоков, стандартно для всех)
-u ПОЛЬЗОВАТЕЛЬ (отображение статистики только для указанных пользователей, стандартно для всех)
-P (отображать только процессы)
-a (накопление статистики от начала запуска iotop)
-k (статистика в килобайтах)
-q (сокращенный вид, убираются некоторые строки заголовка, при использовании с опцией -b. Есть более сокращенный, например -qq без имен заголовков и -qqq без общей сводки)

Добавление SIP клиента во FreePBX

Чтобы добавить SIP клиента во FreePBX, откроем меню «Applications» — «Extensions«, выберем например «Generic CHAN SIP Device» и укажем основные параметры:

User Extension: 6000 (номер SIP)
Display Name: Operator (любое имя для отображения)
Secret: ПАРОЛЬ
и нажмем «Submit«.

Все, SIP добавлен, по указанному номеру и паролю он может уже регистрироваться.

Как добавить SIP в конфигурационном файле я описывал в этой статье — Добавление SIP клиентов в Asterisk

Просмотр файлов командой less

Команда less позволяет просматривать содержимое текстовых файлов и прочих данных в постраничном режиме.

Читать далее «Просмотр файлов командой less»