Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
linux:overall:arhive [2021/04/20 10:29] admin создано |
linux:overall:arhive [2024/12/26 05:25] (текущий) admin |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
===== tar ===== | ===== tar ===== | ||
- | Утилита для архивирования файлов/ | + | Утилита для архивации файлов/ |
Никогда не перемещает и не удаляет какие бы то ни было файлы, только архивные копии.\\ | Никогда не перемещает и не удаляет какие бы то ни было файлы, только архивные копии.\\ | ||
Права на файлы передаются создающему архив. | Права на файлы передаются создающему архив. | ||
Строка 16: | Строка 16: | ||
**Архивирование** текущей директории. Указание точки вместо звездочки, | **Архивирование** текущей директории. Указание точки вместо звездочки, | ||
- | <code bash># tar -cvf myarhive.tar *</ | + | <code bash> |
+ | tar -cvf myarhive.tar * | ||
+ | |||
+ | # Текущая директория за исключением указанных папок, бекап тек директории | ||
+ | tar -czvf backups/ | ||
+ | # или так | ||
+ | tar -czvf old_instance.tar.gz --exclude=" | ||
+ | |||
+ | # Просмотр содержимого архива | ||
+ | tar -tvf my_arhive.tar.gz | ||
+ | </ | ||
**Архивирование и сжатие** указанных файлов. | **Архивирование и сжатие** указанных файлов. | ||
- | <code bash># tar -czvf myarhive.tar.gz / | + | <code bash> |
+ | | ||
+ | # добавит в архив только " | ||
+ | tar -czf my_arch.tar.gz -C folder_store folder1 folder2 file1 | ||
+ | |||
+ | |||
+ | # По шаблону | ||
+ | tar -czvf myarhive.tar.gz / | ||
+ | |||
+ | </ | ||
**Перенаправление потока.** Можно сразу отправить архив по сети, без промежуточного сохранения. | **Перенаправление потока.** Можно сразу отправить архив по сети, без промежуточного сохранения. | ||
Строка 33: | Строка 52: | ||
<code bash># tar -xzvf name-arh.tar.gz -C / | <code bash># tar -xzvf name-arh.tar.gz -C / | ||
- | ==== Разделение | + | |
+ | ==== Разделение архивов на части ==== | ||
С помощью команды **split** можно разделять файлы (архивы) на части, не более указанного размера.\\ | С помощью команды **split** можно разделять файлы (архивы) на части, не более указанного размера.\\ | ||
Аргумент **-b** позволяет указать размер.\\ | Аргумент **-b** позволяет указать размер.\\ | ||
Строка 42: | Строка 62: | ||
**Соединить** архив обратно. | **Соединить** архив обратно. | ||
<code bash># cat myarhive.tar.gz.part* > myarhive.tar.gz</ | <code bash># cat myarhive.tar.gz.part* > myarhive.tar.gz</ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Zip/Unzip ===== | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <code bash> | ||
+ | (unzip -l ${archiveName}.zip | grep -q *-cyclonedx-distrib.json && unzip ${archiveName}.zip *-cyclonedx-distrib.json -d ../sboms/) || [ \\\$? -eq 1 ] | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== dd ===== | ===== dd ===== | ||
Строка 58: | Строка 96: | ||
<code bash># dd if=/ | <code bash># dd if=/ | ||
- | ===== Синхронизация rsync ===== | ||
- | Синхронизирует указанные каталоги. | ||
- | * **-a** - включая подкаталоги. | ||
- | * **-v** - подробный вывод. | ||
- | **Синхронизация указанного каталога** | + | ===== ddrescue ===== |
- | <code bash># | + | Как и **dd**, это утилита для побайтового копирования дисков/ |
+ | Копировать лучше с не примонтированного | ||
+ | <code bash># ddrescue [options] infile outfile [mapfile=logfile]</ | ||
+ | |||
+ | * **-f** - перезапись диска **outfile** | ||
+ | * **-n** - пропускает попытки чтения самых трудных частей | ||
+ | * **-r n** - кол-во повторных попыток чтения поврежденных частей (особо не рекомендуется) | ||
+ | * **-i bytes** - откуда начать чтение **infile** | ||
+ | * **-v** - подробный вывод | ||
+ | |||
+ | **Восстановление всего диска** | ||
+ | <code bash># | ||
+ | |||
+ | **Произошла ошибка** на байте 12350000, переподключили диск, ребутнули и продолжили | ||
+ | <code bash># ddrescue -fn -i 12350000 /dev/sdb /dev/sdc ~/disk.log</ | ||
+ | |||