Например, у меня есть статический http-сервер. Я работаю с файлами .js через sftp. Сохранение их синхронизации. Мне интересно, заменяется ли файл .js мгновенно или сервер stfp будет записывать в этот файл как поток?
Так например:
или
Для меня это лучший сценарий.
Нет времени проверять, как это работает. Любое объяснение было бы хорошо.
Это не функция протокола. SFTP (как подпротокол / подсистема SSH) не решает, перезаписывать ли ваши файлы на месте или через временный файл, сервер выполняет только команды, отправленные клиентом. Так что весь этот вопрос следует рассматривать с точки зрения клиента.
Теперь, учитывая вышесказанное, и учитывая вышесказанное, в зависимости от клиента, которого вы выбираете для загрузки файлов .js, у вас будет другое поведение:
scp
и sftp
заменит файл на месте, так что да, теоретически HTTP-клиент может попытаться получить частично загруженный файл.
Вы можете смягчить это, используя rsync
через SSH вместо sftp
так как это сначала будет записано во временный файл а потом заменить файл. rsync
также можно настроить для резервного копирования любых файлов, которые он заменяет.