Автоматическое изменение размеров разделов до минимума, необходимого для хранения файлов

В настоящее время я пишу сценарий bash в Ubuntu 20.04 LTS, который автоматически создает резервные копии устройств, на которых работает Ubuntu-сервер 18.04 LTS. Я не думаю, что это зависит от версии, поэтому я не пометил это так. Чтобы не тратить часы на ручное резервное копирование через командную строку, я надеялся, что у меня будет скрипт для автоматического резервного копирования устройств. Единственное, что я оставил (я думаю), это изменение размера файла изображения, чтобы не занимать «пустое» пространство.

Обычно вы можете настроить цикл для файла изображения, чтобы получить доступ к разделам, изменить размер раздела с помощью gparted , а затем обрезать файл изображения. Это, однако, требуется время, когда резервное копирование выполняется на многих устройствах, и я бы предпочел сделать это автоматически.

Часть кода, имеющаяся у меня для сжатия файла .img , предназначена для настройки цикла из файла .img , который поступил из dd run на удаленном компьютере, затем перейдите к основному разделу ext4, измените его размер до минимума, необходимого для хранения уже находящихся на нем файлов, и обрежьте раздел, чтобы его размер совпадал с размером раздела. После завершения всего процесса я бы удалил цикл и повторил процесс для всех остальных файлов .img . Единственное, что мне нужно сделать теоретически (пока еще не тестировал эту часть) - это команды для сокращения раздела. Я думаю, что я выяснил, как сделать все остальное, включая усечение.

Я тщательно исследовал это за последние пару дней, и все, что я нашел, это методы через командную строку, которые требуют, чтобы вы визуально видели объем используемого пространства. измените размер раздела до этого, затем обрежьте . Этот метод визуального просмотра использованного пространства и т. Д. Не будет работать со сценарием bash, настроенным во всех статьях, которые я исследовал. Эта статья показывает, чего я пытаюсь добиться очень хорошо, просто через gparted вместо автоматического в bash-скрипте. Как уже упоминалось в начале, мне нужно, чтобы это было совместимо с Ubuntu 18.04-20.04 LTS в MINIMUM . Если я пропустил что-то очевидное, пожалуйста, дайте мне знать.

2
задан 10 June 2020 в 23:59

1 ответ

Возможно, вы ищете resize2fs , который, несмотря на свое название, работает и на файловых системах ext4. Опция -M уменьшает файловую систему до минимального размера. Затем вы можете использовать parted и его команду resizepart , чтобы изменить размер раздела, чтобы подогнать его.

tune2fs -l в файловой системе распечатает его текущий размер в блоках, и размер блока, для расчета нового размера раздела для parted .

Block count:              5242800
Block size:               4096
1
ответ дан 19 June 2020 в 21:26

Другие вопросы по тегам:

Похожие вопросы: