Я создал файл .tar.gz для целей резервного копирования. Хотя он все еще находится в середине передачи через SCP (это файл размером 6 ГБ), я случайно удалил его в сеансе SSH.
Передача SCP все еще запущена. Что происходит в этом случае? Будет ли файл в порядке? Зачем? Будет ли это нарушено? Если да, то почему прерывание передачи файлов отсутствует?
scp скопирует ваш файл без проблем.
Если вы удаляете фильм, который открывается процессом, удаляется только имя файла, но файл все еще существует. Вы можете получить доступ к удаленному файлу через символическую ссылку в /proc/$PID/fd, где $PID - это идентификатор процесса процесса с использованием файла.
scp скопирует ваш файл без проблем.
Если вы удаляете фильм, который открывается процессом, удаляется только имя файла, но файл все еще существует. Вы можете получить доступ к удаленному файлу через символическую ссылку в /proc/$PID/fd, где $PID - это идентификатор процесса процесса с использованием файла.
scp скопирует ваш файл без проблем.
Если вы удаляете фильм, который открывается процессом, удаляется только имя файла, но файл все еще существует. Вы можете получить доступ к удаленному файлу через символическую ссылку в /proc/$PID/fd, где $PID - это идентификатор процесса процесса с использованием файла.
У меня была отличная идея, и я думаю, что сам понял:
# lsof | grep www
sftp-serv 2490 root 3r REG 253,0 6878784186 14549364 /mnt/var/www.tar.gz (deleted)
Для меня это означает, что SCP по-прежнему обращается к файлу и по-прежнему имеет действительный дескриптор файла. Для кого-либо еще файл удаляется, как указано в круглых скобках. Таким образом, никто больше не получит корректный дескриптор файла для этого дескриптора удаленных файлов.
Теперь, когда загрузка SCP завершена, я могу проверить еще раз:
# lsof | grep www
Обратите внимание, что результат пуст, дескриптор файла был закрыт.
На моем клиенте я смог разархивировать файл .tar.gz с помощью 7Zip (Windows). Он не жаловался на сломанные контрольные суммы или что-то еще. Это поддерживает теорию.
Хорошо, Linux!
У меня была отличная идея, и я думаю, что сам понял:
# lsof | grep www
sftp-serv 2490 root 3r REG 253,0 6878784186 14549364 /mnt/var/www.tar.gz (deleted)
Для меня это означает, что SCP по-прежнему обращается к файлу и по-прежнему имеет действительный дескриптор файла. Для кого-либо еще файл удаляется, как указано в круглых скобках. Таким образом, никто больше не получит корректный дескриптор файла для этого дескриптора удаленных файлов.
Теперь, когда загрузка SCP завершена, я могу проверить еще раз:
# lsof | grep www
Обратите внимание, что результат пуст, дескриптор файла был закрыт.
На моем клиенте я смог разархивировать файл .tar.gz с помощью 7Zip (Windows). Он не жаловался на сломанные контрольные суммы или что-то еще. Это поддерживает теорию.
Хорошо, Linux!
У меня была отличная идея, и я думаю, что сам понял:
# lsof | grep www
sftp-serv 2490 root 3r REG 253,0 6878784186 14549364 /mnt/var/www.tar.gz (deleted)
Для меня это означает, что SCP по-прежнему обращается к файлу и по-прежнему имеет действительный дескриптор файла. Для кого-либо еще файл удаляется, как указано в круглых скобках. Таким образом, никто больше не получит корректный дескриптор файла для этого дескриптора удаленных файлов.
Теперь, когда загрузка SCP завершена, я могу проверить еще раз:
# lsof | grep www
Обратите внимание, что результат пуст, дескриптор файла был закрыт.
На моем клиенте я смог разархивировать файл .tar.gz с помощью 7Zip (Windows). Он не жаловался на сломанные контрольные суммы или что-то еще. Это поддерживает теорию.
Хорошо, Linux!