SCP передает только измененные файлы

30

Я использую приведенную ниже команду для передачи файлов между серверами

scp -rc blowfish /source/directory/* username@domain.net:/destination/directory

Есть ли способ передать только измененные файлы, файлы, как updateкоманда для cp?

Страстный разработчик
источник

Ответы:

52

rsync твой друг.

rsync -ru /source/directory/* username@domain.net:/destination/directory

Если вы хотите, чтобы он удалял файлы в месте назначения, которых больше нет в источнике, добавьте эту --deleteопцию.

Flup
источник
4
Хотя, если вы выполняете синхронизацию с веб-сервером и этот сервер кэширует HTML, вы можете не использовать его --delete, поскольку посетители устаревшей страницы могут запросить ресурс, который больше не существует.
Джексон,
@ Джексон чистый процесс не будет включать в источники переменные данные, такие как кеши или конфиги.
Крис Пиллен
В некоторых случаях я имею дело с серверами за пределами моего домена, которые не имеют, rsyncно имеют scp. Есть ли сравнимое решение, даже если ему нужно несколько строк сценариев?
iX3
Ответ полезен, но вопрос был в том, может ли это быть достигнуто с помощью самого scp.
Младен Б.
1

Как правило, каждый просит scp, потому что есть причина. Т.е. не удается установить rsyncd на цель.

files=`find . -newermt "-3600 secs"`

for file in $files
do
       sshpass -p "" scp "$file" "root@$IP://usr/local/www/current/$file"
done
Анджело Дурегелло
источник