Почему я получаю “tar: Трусливо отказываясь создавать пустой архив”? при попытке резервировать целый сервер

Я являюсь новым в человечности и контакте с серверами. Я использую Ubuntu 16.04 x64. Я хочу иметь резервное копирование для своей всей системы, Таким образом, я следовал за этим видео https://www.youtube.com/watch? v=KTayZIou-1M

Я ввожу эту команду

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system 

Но я получил эту ошибку

tar: Cowardly refusing to create an empty archive

Затем я понял, что забываю добавлять '/' после '-одна файловая система', Таким образом, я добавляю его.

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system/

и получите эту ошибку

tar: unrecognized option '--one-file-system/'

Заранее спасибо.

6
задан 13 February 2020 в 20:44

3 ответа

Добавьте пространство перед "/" в конце Вашей команды. Измените Ваш:

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system/

кому:

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system /
29
ответ дан 20 February 2020 в 22:54

Только для полноты:

Простой вызов tar могло бы быть что-то как: tar cf foo.tar file1 file2 file3. Это говорит tar создавать архив в файле, названном foo.tar, содержащим file1, file2 и file3. (Обратите внимание на это с tar, - перед аргументами "команды" является дополнительным, таким образом, можно использовать cf или -cf поскольку Вы считаете целесообразным).

Устраняя некоторого другого (несколько не важный, в настоящий момент) флаги, Ваш первый вызов чрезвычайно эквивалентен tar cf foo.tar. Как вышеупомянутый, это говорит этому создавать архив в названном файле foo.tar, но это не говорит этому файлов для помещения в архив. И это - то, что сообщение об ошибке говорит Вам: так как Вы не указали файлов для архивации, нет никакого смысла в создании архива ничего для содержания.

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

22
ответ дан 20 February 2020 в 22:54

Поскольку Вы никогда не говорили этому создавать резервную копию чего-либо

Вы имеете

  • команда tar
  • некоторые опции, которые идут перед именем файла tar: -cpzvf
  • имя файла tar: mybackup.tar.gz
  • некоторые опции, которые следят за именем файла tar: --exclude=/backup/mybackup.tar.gz --one-file-system

и затем nada. Вы не указываете каталог для резервного копирования. Это - обязательный аргумент, как Вы могли бы предположить.

Затем Вы поймали себя, и Вы добавили /, но думал, что это была модификация опции, а не параметр все его собственное.

/ каталог. Это - корневой каталог. Высказывание, что в этом средстве контекста "создают резервную копию всей файловой системы".

Поскольку Peter обсуждает, tar лучший способ не состоит в том, чтобы создать резервную копию загрузочного тома. Не в последнюю очередь отъезд tarball на загрузочном томе ничего не делает для Вас, если диск перестал работать.

2
ответ дан 20 February 2020 в 22:54

Другие вопросы по тегам:

Похожие вопросы: