Tôi có kịch bản bash này chạy sao lưu của tôi vào một ổ cứng gắn ngoài ... chỉ khi ổ đĩa được gắn kết (OS X):Tôi làm cách nào để yêu cầu rsync chỉ chạy nếu thư mục đích tồn tại?
DIR=/Volumes/External;
if [ -e $DIR ];
then rsync -av ~/dir_to_backup $DIR;
else echo "$DIR does not exist";
fi
này hoạt động, nhưng tôi cảm nhận được tôi đang hiểu sai trang rsync người đàn ông. Có tùy chọn rsync tích hợp để hủy bỏ chạy nếu thư mục đích cấp cao nhất không tồn tại không? Nếu không kiểm tra sự tồn tại của/Volumes/External, một thư mục sẽ được tạo bởi tên đó nếu nó chưa được gắn kết.
với - hiện tại, thư mục mới của mình trong hệ thống phân cấp nguồn sẽ không bao giờ được tạo trên ổ đĩa sao lưu ... – mjy
Có những tùy chọn này dường như không hoạt động theo cách tôi muốn. Ngay cả khi chạy hủy bỏ vì dir đích không tồn tại, thư mục đích được tạo ra (mặc dù cây không được sao chép vào). – Marcus