Вы используете переменную PATH
в своем скрипте в качестве переменной цикла. Это также переменная среды, которую оболочка использует для поиска внешних утилит / команд.
Вот почему он не может найти внешнюю утилиту вырезать
после цикла.
Используйте другое имя переменной.
В общем, я лично стараюсь избегать использования имен переменных в верхнем регистре в сценариях оболочки, если только я не хочу специально использовать значения переменных, экспортированных в сценарий из самой оболочки, например HOME
, PWD
и ПУТЬ
.
Вывод ошибки говорит вам, что вы не можете писать в каталог /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
, если возможно ), инструмент будет работать в режиме клиента -сервера, где он может проверять и передавать только изменения в файлы.