У меня есть два корня, /sync
и ssh://bob@remotehost//sync
. Эти корни содержат три подпапки: paul
, bob
и sam
. В настоящее время я синхронизирую их, используя следующий скрипт:
rsync -a --delete --delete-excluded --delete-after --force\
/sync/paul/ bob@remotehost:/sync/paul
rsync -a --delete --delete-excluded --delete-after --force\
bob@remotehost:/sync/bob/ /sync/bob
unison /sync/sam ssh://bob@remotehost//sync/sam
Я хочу создать унисонный профиль, который управляет всеми тремя подпапками. Пока у меня есть следующее:
# Define roots and paths
root = /sync
root = ssh://bob@remotehost//sync
path = paul
path = bob
path = sam
# Preserve timestamps
times = true
# Force single direction for some paths
forcepartial = Path paul/* -> /sync
forcepartial = Path bob/* -> ssh://bob@host//sync
Используя этот профиль, я ожидал, что все изменения в /sync/paul
будут распространены в ssh://bob@remotehost//sync/paul
и все изменения в /sync/paul
будут принудительно удалены. Я также ожидал наоборот для пути bob
. Однако это не то, что я вижу. В моих тестовых прогонах Unison хочет распространять новые файлы и папки в обоих направлениях для обоих путей, paul
и bob
.
Как заставить Unison вести себя как rsync -a --delete --delete-excluded --delete-after --force $SOURCE/ $DEST
для путей bob
и paul
?