Я пытаюсь выполнить резервное копирование своей файловой системы с помощью следующей команды:
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
три связанных вопроса:
РЕДАКТИРОВАТЬ: на вопросы № 1 и 2 отвечает следующий вывод моей команды:
tar: /srv/www/nachtkriecher.com/backups/20130601.tgz: file changed as we read it
Вопрос 3 все еще остается, хотя! Что он делал, пока я ждал?
, что происходит, если я удаляю файл, в то время как tar обрабатывает его?
Абсолютно ничто. Удаление файла просто удаляет имя из каталога. Сам файл все еще там, пока он имеет имя в другом каталоге, или любой процесс уже имеет его открытый. С тех пор tar
уже имел открытый файл, он продолжает обрабатывать его очень хорошо.