SCP chỉ chuyển các tệp đã sửa đổi


30

Tôi đang sử dụng lệnh dưới đây để chuyển tập tin máy chủ chéo

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

Có cách nào để chỉ chuyển các tập tin sửa đổi tập tin giống như updatelệnh cho cp?

Câu trả lời:


52

rsync là bạn của bạn.

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

Nếu bạn muốn nó xóa các tệp tại đích không còn tồn tại tại nguồn, hãy thêm --deletetùy chọn.


4
Mặc dù, nếu bạn đang đồng bộ hóa với máy chủ web và máy chủ đó lưu trữ HTML, bạn có thể không muốn sử dụng --delete, vì khách truy cập trên trang cũ có thể yêu cầu một tài sản không còn tồn tại.
Jackson

@Jackson một quy trình sạch sẽ không bao gồm dữ liệu biến như bộ nhớ cache hoặc cấu hình trong các nguồn.
Chris Pillen

Trong một số trường hợp, tôi đã xử lý các máy chủ bên ngoài miền mà tôi không có rsyncnhưng có scp. Có một giải pháp tương đương, ngay cả khi nó cần một vài dòng kịch bản?
iX3

Câu trả lời là hữu ích, nhưng câu hỏi là điều này có thể đạt được với chính scp không.
Mladen B.

1

Nói chung người ta yêu cầu scp vì có lý do. Tức là không thể cài đặt rsyncd trên mục tiêu.

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

for file in $files
do
       sshpass -p "" scp "$file" "root@$IP://usr/local/www/current/$file"
done
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.