Как создать резервную копию с помощью команды tar на Linux
Создание резервной копии данных — это важная практика для обеспечения безопасности информации. В Linux существует множество инструментов для этой задачи, и одним из самых популярных является tar
. В этой статье мы рассмотрим, как правильно использовать команду tar
для создания резервных копий и предотвратить распространенные ошибки.
Проблема с форматом имени файла
Недавно я попытался создать резервную копию, используя команду:
$ tar -f "backup_$(date +%D).tar.gz" -czv test2
Однако при выполнении этой команды я получил следующие сообщения об ошибке:
tar (child): backup_02/22/25.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Ошибки указывали на то, что файл backup_02/22/25.tar.gz
не может быть открыт. Причина возникновения этой проблемы заключается в том, что в имени файла используются символы, которые воспринимаются системой как разделители путей.
Понимание разделителей пути в Linux
В Linux и других Unix-подобных системах символы «/» всегда рассматриваются как разделители пути в файловой системе. Это означает, что при попытке создать файл с именем, содержащим «/», система интерпретирует это как создание вложенной структуры директорий. В результате получается следующее дерево каталогов:
current directory
└─backup_02
└─22
└─25.tar.gz
Поскольку каталоги backup_02/22/
не существуют, команда tar
просто не может создать файл, что и вызывает ошибки.
Рекомендации по формату даты
Чтобы избежать таких ошибок, рекомендуется использовать другой формат даты для имени файла. Например, можно использовать:
%m_%d_%Y
для формата02_22_25
, который заменит дефисы на подчеркивания.%F
для формата2025-02-22
, который удобно сортируется по имени.
Правильная команда будет выглядеть так:
$ tar -f "backup_$(date +%m_%d_%Y).tar.gz" -czv test2
Или:
$ tar -f "backup_$(date +%F).tar.gz" -czv test2
Создание необходимых каталогов
Если вы все же хотите использовать оригинальный формат с дефисами, вам потребуется создать все необходимые каталоги перед выполнением команды tar
. Это можно сделать с помощью команды:
mkdir -p backup_02/22
Тем не менее, использование формата с подчеркиваниями или с датой в формате YYYY-MM-DD
намного проще и практичнее для организации резервных копий.
Заключение
Создание резервных копий с помощью команды tar
— это отличное решение для защиты ваших данных. Однако важно следить за тем, чтобы форматы имен файлов не вызывали ошибок, связанных с недостающими каталогами. Используйте рекомендуемые форматы, чтобы сделать процесс создания резервных копий максимально удобным и эффективным.