В настоящее время я пишу сценарий 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 . Если я пропустил что-то очевидное, пожалуйста, дайте мне знать.
Возможно, вы ищете resize2fs
, который, несмотря на свое название, работает и на файловых системах ext4. Опция -M
уменьшает файловую систему до минимального размера. Затем вы можете использовать parted
и его команду resizepart
, чтобы изменить размер раздела, чтобы подогнать его.
tune2fs -l
в файловой системе распечатает его текущий размер в блоках, и размер блока, для расчета нового размера раздела для parted
.
Block count: 5242800
Block size: 4096