Есть варианты, позволяющие rsync не нарушать символические ссылки на удаленном компьютере, когда они ссылаются на каталоги, но, похоже, у него нет возможности не заменять символические ссылки на файлы реальными файлами. .
Таким образом, вы можете сначала каким-то образом сохранить символические ссылки на файлы в SOURCE, например, переименовав их или перечислив их в файле, затем выполнить rsync, сохраняя символические ссылки на каталоги, затем восстановить символические ссылки на файлы, скопировав их. данные из реального файла в восстановленную символическую ссылку с последующим удалением реального файла. Вот потенциальный сценарий:
find /tmp/SOURCE -type l ! -xtype d -exec mv {} {}.lnk \;
cd /tmp/TARGET || exit
rsync -a -R --no-implied-dirs --keep-dirlinks . /tmp/SOURCE/
find /tmp/SOURCE -type l ! -xtype d |
while read fname
do base=${fname%.lnk}
cp "$base" "$fname"
mv "$fname" "$base"
done
Я оставляю вас, чтобы вы правильно справлялись со странными именами файлов.Я не уверен, что -R --no-implied-dirs
необходим, но позволю вам поэкспериментировать с этим.
Хорошо, кое-что неверен в сценарии инициализации, потому что я могу нормально запустить сервер, используя это -
openvpn --mode server --dev tun --tls-server --dh /etc/openvpn/dh2048.pem --ca / etc / openvpn / ca.crt --cert /etc/openvpn/server.crt --key /etc/openvpn/server.key
Я изучу это дальше