rsync не выполняет запись в смонтированный общий ресурс NFS

Вы используете переменную PATH в своем скрипте в качестве переменной цикла. Это также переменная среды, которую оболочка использует для поиска внешних утилит / команд.

Вот почему он не может найти внешнюю утилиту вырезать после цикла.

Используйте другое имя переменной.

В общем, я лично стараюсь избегать использования имен переменных в верхнем регистре в сценариях оболочки, если только я не хочу специально использовать значения переменных, экспортированных в сценарий из самой оболочки, например HOME , PWD и ПУТЬ .

3
10.09.2017, 17:11
1 ответ

Вывод ошибки говорит вам, что вы не можете писать в каталог /mnt/nfs/synology/websites(, то есть вы не можете создавать каталоги -и, возможно, даже файлы -внутри него ).

Пробный запуск сработал, потому что на самом деле он не пытался передать файлы, поэтому не возникло проблем с правами доступа.

Если вы используете sudo rsync..., вы (почти наверняка )обнаружите, что sudo mkdir /mnt/nfs/synology/websites/test.co.ukтакже не работает.


Между прочим, вы получите гораздо более эффективную передачу, если включите службу rsyncна Synology NAS и будете использовать ее вместо передачи через NFS.

Для начала имейте в виду, что, поскольку вы используете rsyncдля копирования из одной части файловой системы локального хоста в другую часть , которая выглядит как файловая система локального хоста, она не будет использовать свою дифференциальный алгоритм для передачи только изменений содержимого файлов. Вместо этого он будет смотреть на размер файла и время модификации, и если они отличаются, он скопирует файл целиком.

Включение службы Synology NAS rsync(или rsyncповерх ssh, если возможно ), инструмент будет работать в режиме клиента -сервера, где он может проверять и передавать только изменения в файлы.

5
27.01.2020, 21:15

Теги

Похожие вопросы