Почему scp не перезаписывает мой файл назначения?

14

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

scp /tmp/backup.tar.gz имя хоста: /home/user/backup.tar.gz

Когда я запускаю его, появляется индикатор выполнения scp, и он выглядит так, как будто он передает файл, однако, когда я захожу на конечный сервер, чтобы проверить файл, временная метка и размер файла не изменились по сравнению со старой версией, поэтому выглядит scp вообще не перезаписывал старый файл. Он работает только тогда, когда я вручную удаляю файл с сервера назначения.

Я использую Ubuntu, и это происходит на двух серверах: один Cygwin SSH и один Fedora Core 3.

У кого-нибудь есть идеи, почему это происходит? Я думал, что scp будет перезаписывать только существующие файлы ..

Спасибо

недотрога
источник
1
Также происходит со мной на CentOS 6.0. Я копирую файлы из Slackware 12.1. Версия ssh клиента - 5.0p1, а версия ssh сервера - 5.3p1.
Милан Бабушков
1
Вы проверили, если какой-то процесс не заменяет файл обратно? У меня та же проблема в прошлом из-за rsync. Приветствия, RT
user438115
и на мяте linux тоже. CRAZY
Денис

Ответы:

9

Если я опускаю имя файла назначения и указываю только каталог, то он работает:

scp /tmp/backup.tar.gz hostname:/home/user/

Я не понимаю почему, но это может быть решением вашей проблемы.

Милан Бабушков
источник
1

Под Debian / Lenny это работает. Возможно, вы используетеscp -v $localFile $RemoteHost:$RemotePath/$localFile

ThorstenS
источник