INT 21h

Select language

Программа бэкапа почты imap2mbox

№ 12719 В разделе Sysadmin от March 14th, 2026,
В подшивках: , ,

Дело было вечером, делать было нечего… А бэкапить почту все равно нужно в свете последних событий, где mail.ru выкатил нехилый ценник за пользование почтой через imap. Готовые решения мне не понравились и некоторым я, откровенно говоря, не доверял. Появилась цель создать простой эффективный инструмент, способный подключаться по современным протоколам безопасности, возможностью дедупликации и инкрементации бэкапных файлов новыми письмами и дальнейшим беспроблемным импортом в новый почтовый сервер.

Сайт с документацией https://imap2mbox.blindage.org

Программа предназначена для однократного запуска и не имеет функций архивирования, это простой инструмент для выкачивания писем в mbox файлы с возможностью докачать новые письма позже без повторной полной выкачки. Для архивации файлов используйте специализированное ПО, например, borg или даже самописный bash скрипт, что удобнее. Файлы mbox могут быть опционально сжаты в gzip прямо во время выкачивания писем, но тогда вы лишитесь возможности делать инкрементный бэкап с помощью того же borg просто потому, что файл стал бинарным и немного меняется каждое сжатие.

Запуск рекомендуется делать регулярно через cron. Также можно контейнеризировать весь набор ПО для бэкапа почты и запускать в Kubernetes по Cronjob, сохранив конфиг в секрет. Вывод программы подготовлен к использованию с системами сбора логов в kv формате. Там же на сайте есть helm чарт с кронджобой.

Нет комментариев »

Linux: как сделать сброс USB порта и переподключить устройство

№ 12704 В разделе Sysadmin от January 22nd, 2026,

# Сбросить порт (замените 1-1.2 на ваш порт)
echo '1-1.2' | sudo tee /sys/bus/usb/drivers/usb/unbind
echo '1-1.2' | sudo tee /sys/bus/usb/drivers/usb/bind

Полный сброс всего USB-контроллера (радикальный способ)

# Отключить USB-контроллер
sudo sh -c "echo 0 > /sys/bus/pci/drivers/xhci_hcd/unbind"
# Включить обратно
sudo sh -c "echo 1 > /sys/bus/pci/drivers/xhci_hcd/bind"

Нет комментариев »

Как примонтировать и использовать файлы дисков VDI от VirtualBox в Linux

№ 12688 В разделе Sysadmin от November 11th, 2025,
В подшивках: , ,

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

Первым шагом нужно создать ваш новый виртуальный диск. Это можно сделать прямо в VirtualBox в менеджере дисков.

Следующий шаг это установить необходимые утилиты и модули ядра из поставки Qemu.

sudo apt install qemu-utils qemu-block-extra 
sudo modprobe nbd max_part=8
qemu-nbd --version

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

sudo qemu-nbd -c /dev/nbd0 /tmp/New-disk-image.vdi

Наконец, финальный шаг это создать таблицу разметки и новую партицию в новом блочном устройстве. Как пример, я создам файловую систему ЕХТ4 и примонтирую к своей хост системе. Вы также можете даже записать какие-то специальные образы используя утилиту dd.

cfdisk /dev/nbd0
mkfs.ext4 /dev/nbd0p1
tune2fs -L VDIPART1 /dev/nbd0p1

На всякий случай проверим таблицу разметки.

vlad@turtle:/$ fdisk -l /dev/nbd0
Disk /dev/nbd0: 256 GiB, 274877906944 bytes, 536870912 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x10b50298

Device      Boot Start       End   Sectors  Size Id Type
/dev/nbd0p1       2048 536870911 536868864  256G 83 Linux

Теперь можно как обычно примонтировать этот раздел и потом после работы отмонтировать.

sudo mount /dev/nbd0p1 /mnt/
sudo rsync -avz /my/special/files/ /mnt/
sudo umount /mnt

Отключение. Необходимо перед использованием в VirtualBox!

qemu-nbd -d /dev/nbd0

Вы великолепны.

Нет комментариев »

Облачная платформа
Яндекс.Метрика

Fortune cookie: ... or were you driving the PONTIAC that HONKED at me in MIAMI last Tuesday?