như bạn có thể thấy trong tiêu đề tôi cố gắng đồng bộ một thư mục với một danh sách các tập tin. Tôi hy vọng rằng lệnh này sẽ xóa tất cả các tập tin trong dest/mà không có trong danh sách, nhưng nó không.rsync --delete --files-from = list/dest/không xóa các tập tin không mong muốn
Vì vậy, tôi đã tìm kiếm một chút và biết bây giờ, rằng rsync không thể làm điều này.
Nhưng tôi cần nó, vì vậy bạn có biết cách nào để làm điều đó không?
PS: Danh sách được tạo bởi tập lệnh python, do đó, bạn có thể tưởng tượng rằng giải pháp của bạn sử dụng một số mã python.
EDIT, chúng ta hãy bê tông:
Danh sách này trông như thế này:
/home/max/Musik/Coldplay/Parachutes/Trouble.mp3
/home/max/Musik/Coldplay/Parachutes/Yellow.mp3
/home/max/Musik/Coldplay/A Rush of Blood to the Head/Warning Sign.mp3
/home/max/Musik/Coldplay/A Rush of B-Sides to Your Head/Help Is Around the Corner.mp3
/home/max/Musik/Coldplay/B-Sides (disc 3)/Bigger Stronger.mp3
và lệnh như thế này:
rsync --delete --files-from=/tmp/list//home/max/Desktop/foobar/
này hoạt động, nhưng nếu tôi xóa một dòng, nó không bị xóa trong foobar /.
EDIT 2:
rsync -r --include-from=/tmp/list --exclude=* --delete-excluded//home/max/Desktop/foobar/
Đó làm việc không ...
Btw .: rsync phiên bản 3.0.6 giao thức phiên bản 30 quên rằng, xin lỗi – dAnjou
Một trong những điều tôi ghét nhất về rsync, là thiếu sự hỗ trợ cho chính xác những gì bạn đang yêu cầu. Bài tốt. –