что произойдет, если я удалю файл, пока tar его обрабатывает?

Я пытаюсь выполнить резервное копирование своей файловой системы с помощью следующей команды:

tar -cvjf /fs.bz2 --exclude=/fs.bz2 --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys /

Эта команда выполнялась и выводила каждый файл, обработанный и прогрессировавший до определенного файла объемом 2 ГБ с именем 20130601.tgz , Я решил, что мне не нужно хранить этот файл, и поэтому, пока tar обрабатывал его, я удалил этот файл с помощью rm.

tar, похоже, все еще обрабатывает файл, так как он не выдал следующий обрабатываемый файл, а размер файла bzip2 продолжает расти. ранее tar, похоже, распознавал, что файл изменился, когда он был отредактирован и сказал так, и перешел к следующему файлу. Я также воссоздал файл с помощью следующей команды: echo hello > 20130601.tgz

три связанных вопроса:

  • , почему он не узнал, что он был изменен на этот раз?
  • мне нужно снова запустить мою команду tar?
  • , если она все еще обрабатывает тот же файл, даже если я удалил его, где он получает содержимое файла для его обработки?

РЕДАКТИРОВАТЬ: на вопросы № 1 и 2 отвечает следующий вывод моей команды:

tar: /srv/www/nachtkriecher.com/backups/20130601.tgz: file changed as we read it

Вопрос 3 все еще остается, хотя! Что он делал, пока я ждал?

4
задан 30 April 2014 в 16:56

1 ответ

, что происходит, если я удаляю файл, в то время как tar обрабатывает его?

Абсолютно ничто. Удаление файла просто удаляет имя из каталога. Сам файл все еще там, пока он имеет имя в другом каталоге, или любой процесс уже имеет его открытый. С тех пор tar уже имел открытый файл, он продолжает обрабатывать его очень хорошо.

0
ответ дан 30 April 2014 в 16:56

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

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