У меня есть каталог под названием «secure», который я монтирую на своем ноутбуке через sshfs всякий раз, когда сервер находится в досягаемости.
Пока этот сервер находится в досягаемости, я хочу сохранить его в двух направлениях синхронизация с каталогом «sync».
«Безопасный» каталог монтируется с помощью pam_mount при входе в систему и размонтируется при выходе из системы. У меня есть setup pam_script для создания символической ссылки на «синхронизацию», когда монтирование выходит из строя, и удалить ссылку на unmount.
В моей первой попытке было запустить unison с pam_script:
#!/bin/bash
#pam_script_ses_open (runs at the start of a session)
home=`eval echo ~$PAM_USER`
secure=$home/secure
sync=$home/sync
if mount|grep "$secure"; then
echo Synchronizing with server $sync : $secure
unison "file://$sync" "file://$secure"
else
ln -s "$sync" "$secure"
fi
И для окончания сеанса:
#!/bin/bash
userid=$PAM_USER
home=`eval echo ~$userid`
secure=$home/secure
sync=$home/sync
if mount|grep "$secure"; then
echo Synchronizing with server
unison "file://$sync" "file://$secure"
else
rm "$secure"
fi
Оба этих сценария запускаются под root.
При выходе из системы два каталога синхронизируются просто отлично.
At login однако я получаю следующее сообщение об ошибке:
Синхронизация с сервером / home / users / user / sync: / home / users / user / secure
Связаться с сервером .. .
Неустранимая ошибка: неправильное количество корней: 2 ожидается, но 4 предоставлено (ssh: // user @ server /, / home / users / user, file: /// home / users / user / secure, file: /// home / users / user / sync)
(Возможно, вы указали корни как в командной строке, так и в профиле?)
blockquote>I подтвердили, что в любом домашнем каталоге пользователей нет директории «.unison», а apt-get очистить unison, а затем установить unison.
Я не совсем доволен использованием uniso n (даже если он работает), потому что он будет синхронизироваться только при входе в систему и выходе из системы.
Как я могу заставить sshfs или fstab запускать прямую синхронизацию всякий раз, когда каталог монтируется или если это невозможно, то почему unison failing в моей текущей настройке?
Я ищу чистое и надежное решение.