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

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

При попытке посмотреть список файлов естественно получится ступор на длительное время.
Как вариант их можно посмотреть через 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

Обновление прошивки SJCAM SJ5000x Elite

На тесте обновлю прошивку камеры SJCAM SJ5000x Elite с версии 1.4.8 на 1.4.9.

Опишу по пунктам процедуру обновления:

Читать далее «Обновление прошивки SJCAM SJ5000x Elite»

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

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

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

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

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

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

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

Список SNMP OID для iLO4

Делал сегодня шаблон под Zabbix для мониторинга iLO 4 на сервере HP DL380p G8 и пришлось исследовать несколько OID.

Проверить OID из Linux можно командой:
snmpwalk 192.168.1.5 -c КОМЬЮНИТИ -v 2c OID

Приведу ниже список и описание для OID куллеров, процессоров, датчиков температуры, логических дисков (RAID), жестких дисков, сетевого контроллера iLO, оперативной памяти.

Fans:
.1.3.6.1.4.1.232.6.2.6.7.1.2.0 (Fan Index)
.1.3.6.1.4.1.232.6.2.6.7.1.3.0 (Fan Locale (1=other, 2=unknown, 3=system, 4=systemBoard, 5=ioBoard, 6=cpu, 7=memory, 8=storage, 9=removable media, 10=power supply, 11=ambent, 12=chassis, 13=bridge card, 14=management board, 15=backplane, 16=network slot, 17=blade slot, 18=virtual)
.1.3.6.1.4.1.232.6.2.6.7.1.4.0 (Fan Present (1=other, 2=absent, 3=present)
.1.3.6.1.4.1.232.6.2.6.7.1.5.0 (Fan Present (1=other, 2=tachOutput, 3=spinDetect)
.1.3.6.1.4.1.232.6.2.6.7.1.6.0 (Fan Speed (1=other, 2=normal, 3=high)
.1.3.6.1.4.1.232.6.2.6.7.1.9.0 (Fan Condition (1=other, 2=ok, 3=degraded, 4=failed)

Temperature:
.1.3.6.1.4.1.232.6.2.6.8.1.2.0 (Temperature Sensor Index)
.1.3.6.1.4.1.232.6.2.6.8.1.3.0 (Temperature Sensor Locale (1=other, 2=unknown, 3=system, 4=systemBoard, 5=ioBoard, 6=cpu, 7=memory, 8=storage, 9=removable media, 10=power supply, 11=ambent, 12=chassis, 13=bridge card)
.1.3.6.1.4.1.232.6.2.6.8.1.7.0 (Threshold Type (1=other, 5=blowout, 9=caution, 15=critical, 16=noreaction)
.1.3.6.1.4.1.232.6.2.6.8.1.4.0 (Temperature Celsius)
.1.3.6.1.4.1.232.6.2.6.8.1.5.0 (TemperatureThreshold)
.1.3.6.1.4.1.232.6.2.6.8.1.6.0 (TemperatureCondition)

CPU:
.1.3.6.1.4.1.232.1.2.2.1.1.1 (CPU Index)
.1.3.6.1.4.1.232.1.2.2.1.1.3 (CPU Name)
.1.3.6.1.4.1.232.1.2.2.1.1.4 (CPU Speed in MHz)
.1.3.6.1.4.1.232.1.2.2.1.1.5 (CPU Step)
.1.3.6.1.4.1.232.1.2.2.1.1.6 (CPU status (1=unknown, 2=ok, 3=degraded, 4=failed, 5=disabled)
.1.3.6.1.4.1.232.1.2.2.1.1.15 (Number of enabled CPU cores)
.1.3.6.1.4.1.232.1.2.2.1.1.25 (Number of available CPU threads)
.1.3.6.1.4.1.232.1.2.2.1.1.26 (CPU power status (1=unknown, 2=Low Powered, 3=Normal Powered, 4=High Powered)

Logical Drives:
.1.3.6.1.4.1.232.3.2.3.1.1.2.0 (Logical Drive Index)
.1.3.6.1.4.1.232.3.2.3.1.1.1.0 (Logical Drive Controller)
.1.3.6.1.4.1.232.3.2.3.1.1.3.0 (Logical Drive Fault Tolerance (1=other, 2=none, 3=RAID 1/RAID 1+0 (Mirroring), 4=RAID 4 (Data Guard), 5=RAID 5 (Distributed Data Guard), 7=RAID 6 (Advanced Data Guarding), 8=RAID 50, 9=RAID 60, 10=RAID 1 ADM (Advanced Data Mirroring), 11=RAID 10 ADM (Advanced Data Mirroring with Striping))
.1.3.6.1.4.1.232.3.2.3.1.1.9.0 (Logical Drive Size in Mb)
.1.3.6.1.4.1.232.3.2.3.1.1.4.0 (Logical Drive Status (1=other, 2=ok, 3=Failed, 4=Unconfigured, 5=Recovering, 6=Ready Rebuild, 7=Rebuilding, 8=Wrong Drive, 9=Bad Connect, 10=Overheating, 11=Shutdown, 12=Expanding, 13=Not Available, 14=Queued For Expansion, 15=Multi-path Access Degraded, 16=Erasing, 17=Predictive Spare Rebuild Ready, 18=Rapid Parity Initialization In Progress, 19=Rapid Parity Initialization Pending, 20=No Access — Encrypted with No Controller Key, 21=Unencrypted to Encrypted Transformation in Progress, 22=New Logical Drive Key Rekey in Progress, 23=No Access — Encrypted with Controller Encryption Not Enabled, 24=Unencrypted To Encrypted Transformation Not Started, 25=New Logical Drive Key Rekey Request Received)
.1.3.6.1.4.1.232.3.2.3.1.1.11.0 (Logical Drive Condition (1=other, 2=ok, 3=degraded, 4=failed)

Drives:
.1.3.6.1.4.1.232.3.2.5.1.1.2.0 (Drive Index)
.1.3.6.1.4.1.232.3.2.5.1.1.5.0 (Drive Bay)
.1.3.6.1.4.1.232.3.2.5.1.1.64.0 (Drive Location)
.1.3.6.1.4.1.232.3.2.5.1.1.3.0 (Drive Vendor)
.1.3.6.1.4.1.232.3.2.5.1.1.51.0 (Drive Serial Number)
.1.3.6.1.4.1.232.3.2.5.1.1.45.0 (Drive Size in Mb)
.1.3.6.1.4.1.232.3.2.5.1.1.65.0 (Drive Link Rate (1=other, 2=1.5Gbps, 3=3.0Gbps, 4=6.0Gbps, 5=12.0Gbps))
.1.3.6.1.4.1.232.3.2.5.1.1.70.0 (Drive Current Temperature)
.1.3.6.1.4.1.232.3.2.5.1.1.71.0 (Drive Temperature Threshold)
.1.3.6.1.4.1.232.3.2.5.1.1.72.0 (Drive Maximum Temperature)
.1.3.6.1.4.1.232.3.2.5.1.1.6.0 (Drive Status (1=Other, 2=Ok, 3=Failed, 4=Predictive Failure, 5=Erasing, 6=Erase Done, 7=Erase Queued, 8=SSD Wear Out, 9=Not Authenticated)
.1.3.6.1.4.1.232.3.2.5.1.1.37.0 (Drive Condition (1=other, 2=ok, 3=degraded, 4=failed)
.1.3.6.1.4.1.232.3.2.5.1.1.9.0 (Drive Reference Time in hours)

iLO NIC:
.1.3.6.1.4.1.232.9.2.5.2.1.1 (iLO location)
.1.3.6.1.4.1.232.9.2.5.1.1.2 (iLO NIC model)
.1.3.6.1.4.1.232.9.2.5.1.1.4 (iLO NIC MAC)
.1.3.6.1.4.1.232.9.2.5.1.1.5 (iLO NIC IPv4)
.1.3.6.1.4.1.232.9.2.5.1.1.9 (iLO NIC speed)
.1.3.6.1.4.1.232.9.2.5.1.1.14 (iLO NIC FQDN)
.1.3.6.1.4.1.232.9.2.5.2.1.2 (Tx bytes)
.1.3.6.1.4.1.232.9.2.5.2.1.3 (Tx packets)
.1.3.6.1.4.1.232.9.2.5.2.1.6 (Tx discard packets)
.1.3.6.1.4.1.232.9.2.5.2.1.7 (Tx error packets)
.1.3.6.1.4.1.232.9.2.5.2.1.9 (Rx bytes)
.1.3.6.1.4.1.232.9.2.5.2.1.10 (Rx packets)
.1.3.6.1.4.1.232.9.2.5.2.1.13 (Rx discard packets)
.1.3.6.1.4.1.232.9.2.5.2.1.14 (Rx error packets)
.1.3.6.1.4.1.232.9.2.5.2.1.15 (Rx unknown packets)

Memory:
.1.3.6.1.4.1.232.6.2.14.13.1.1 (Memory Index)
.1.3.6.1.4.1.232.6.2.14.13.1.13 (Location)
.1.3.6.1.4.1.232.6.2.14.13.1.9 (Manufacturer)
.1.3.6.1.4.1.232.6.2.14.13.1.10 (Part Number)
.1.3.6.1.4.1.232.6.2.14.13.1.6 (Size in Kbytes)
.1.3.6.1.4.1.232.6.2.14.13.1.8 (Memory Technology)
.1.3.6.1.4.1.232.6.2.14.13.1.7 (Memory Type)
.1.3.6.1.4.1.232.6.2.14.13.1.19 (Memory status (1=other, 2=notPresent, 3=present, 4=good, 5=add, 6=upgrade, 7=missing, 8=doesNotMatch, 9=notSupported, 10=badConfig, 11=degraded, 12=spare, 13=partial)
.1.3.6.1.4.1.232.6.2.14.13.1.20 (Memory condition (1=other, 2=ok, 3=degraded, 4=degradedModuleIndexUnknown)

Обновление прошивки iLO 4 на HP серверах

На тесте обновлю iLO4 на сервере HP ProLiant DL380p G8 с iLO версией 1.13 (Nov 08 2012), а также на нескольких других серверах, ProLiant DL360p Gen8, ProLiant DL320e Gen8 v2 и т.д..
Для обновления iLO, нет необходимости перезагружать сервер.

Читать далее «Обновление прошивки iLO 4 на HP серверах»

Изоляция портов на коммутаторе ZyXEL MES-3528

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

Подключимся к коммутатору и посмотрим текущую конфигурацию:

show running-config

Перейдем в режим конфигурирования:

configure

Изолируем необходимые порты, кроме uplink порта:

interface port-channel 1-24,26-28
vlan1q port-isolation
exit
exit

Сохраним конфигурацию:

write memory

Порты на которых прописана команда vlan1q port-isolation не видят другие порты с этой же командой, но видят порты без неё и CPU коммутатора. Порты без команды vlan1q port-isolation видят порты с ней и без неё.

Смотрите также:
Изоляция портов на коммутаторах Huawei
Настройка Protected Ports на Cisco

Решение ошибки 1918 при установке MySQL ODBC Driver

Обнаружил однажды при установке MySQL ODBC Driver 5.3.7 следующую ошибку:

Читать далее «Решение ошибки 1918 при установке MySQL ODBC Driver»

Решение «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»