Содержание

Архивация

tar

Утилита для архивации файлов/каталогов.
Никогда не перемещает и не удаляет какие бы то ни было файлы, только архивные копии.
Права на файлы передаются создающему архив.

Архивирование текущей директории. Указание точки вместо звездочки, добавит даже скрытые файлы.

tar -cvf myarhive.tar *
 
  # Текущая директория за исключением указанных папок, бекап тек директории
tar -czvf backups/previous_version.tar.gz --exclude={log,backups} *
  # или так
tar -czvf old_instance.tar.gz --exclude="*/log" --exclude="*/backups" *
 
   # Просмотр содержимого архива
tar -tvf my_arhive.tar.gz

Архивирование и сжатие указанных файлов.

# tar -czvf myarhive.tar.gz /home/user/*.mp4

Перенаправление потока. Можно сразу отправить архив по сети, без промежуточного сохранения.

# tar czvf - ~/sourcedir/ | ssh user@host "cat > ~/myarhive.tar.gz"

Архивация всей системы. Исключая временные разделы и папку /home/andy/, включая /var/ и /usr/.

# tar czvf - --one-file-system / /usr /var --exclude=/home/andy/ | ssh user@host "cat > ~/arh.tar.gz"

Поиск и архивация. Для поиска используем команду find.

# find /var/dir/ -iname "*.mp4" -exec tar -rvf arh.tar {} \;

Разархивировать в указанное место

# tar -xzvf name-arh.tar.gz -C /.../exist-folder

Разделение архивов на части

С помощью команды split можно разделять файлы (архивы) на части, не более указанного размера.
Аргумент -b позволяет указать размер.

Разбиение архива на части.

# split -b 1G myarhive.tar.gz "myarhive.tar.gz.part"

Соединить архив обратно.

# cat myarhive.tar.gz.part* > myarhive.tar.gz

dd

Создание (побайтовых) образов разделов.

Создаем архив диска

# dd if=/dev/sda of=~/sdadisk.img

Восстановление из образа

# dd if=~/sdadisk.img of=/dev/sda

Форматирование раздела метод с перезаписыванием (if=/dev/random - случайными символами)

# dd if=/dev/zero of=/dev/sda1

ddrescue

Как и dd, это утилита для побайтового копирования дисков/разделов, но в отличии от первой, достаточно успешно копирует данные с поврежденных дисков.
Копировать лучше с не примонтированного диска или в режиме ro. Запросто может добить диск (уничтожить данные), при допущении ошибок в работе с утилитой.

# ddrescue [options] infile outfile [mapfile=logfile]

Восстановление всего диска

# ddrescue -fn /dev/sdb /dev/sdc ~/disk.log

Произошла ошибка на байте 12350000, переподключили диск, ребутнули и продолжили

# ddrescue -fn -i 12350000 /dev/sdb /dev/sdc ~/disk.log