1

Довольно нуб переместился, но использовал tar с заменой аргументов исходного и конечного файлов, что привело к полному беспорядку (исходный файл был перезаписан другим файлом с таким же именем размером 4 КБ).

Есть ли способ восстановить мой оригинальный файл?

Кроме того, я удивлен, что по умолчанию стоит перезапись, но я полагаю, что я не должен делать что-то подобное до утреннего кофе. Тьфу.

2 ответа2

4

Если у вас нет резервной копии исходного исходного файла, хранящегося в другом месте, вам, к сожалению, не повезло. Тар не может восстановиться после этой конкретной ошибки.

3

Может быть, это может быть вдохновляющим моментом для написания сценария. Переименуйте команду tar в tar.orig и назовите ваш новый скрипт my-tar.sh . Есть ваш новый скрипт my-tar.sh :

  1. выполнить проверку работоспособности относительно того, что является входным, а какой - выходным (проверьте .ext? размер файла? дата-время?), тогда
  2. создайте резервную копию вашего входного файла (cp input.bkp) до того, как какая-либо обработка будет выполнена.

Вы также можете включить небольшой фрагмент меню, настроенный для простого выбора между вашими любимыми наборами параметров команды tar!

Если вы чувствуете себя действительно надежно, вы можете также заставить свой скрипт вращать несколько файлов резервных копий каждого из ваших последних «прогонов» (используя /tmp dir; .bkp, .bk4, .bk3, .bk2, .bk1), просто в случае, если вам удастся немного поразить сумасшествие на клавиатуре перед этим первым кубком! Возможно также поверните небольшой файл журнала как /var/log/my-tar.log чтобы отследить метки даты и времени и точную командную строку, обработанную сценарием того, что было выполнено во время каждого из нескольких последних «запусков» вашего настроенного сценария!

Чтобы получить помощь в написании сценария mytar.sh , попробуйте выполнить образовательный курс: найдите в Интернете PDF-файл «Расширенного руководства по написанию сценариев» из Проекта документации Linux. Вы будете на шаг впереди остальных, потратив время на то, чтобы научиться справляться со многими ситуациями, требующими сценариев, - прежде чем они укусят вас сзади!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .