Я пишу сценарий, в котором я хотел бы загрузить отдельные файлы и автоматически создать структуру папок, например mkdir -p, но я не могу заставить rsync 2.6.9 (оба) сотрудничать.
Похоже, что rsync создает только один уровень папок, иначе возникает ошибка.
Я пытаюсь воспроизвести под рукой ncftpput -C -R -m remote-host local-path-name remote-path-name
действия (Рекурсивный режим ncftp; копирование целых деревьев каталогов + Попытка создать удаленный целевой каталог перед копированием.).
Возможно?
Мои попытки:
rsync -av -e ssh /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/B/C/delete_snippet.processor.php
возвращает:
rsync: push_dir # 3 "/var/www/vhosts/testboard.org/httpdocs/B/C" не удалось: нет такого файла или каталога (2)
rsync -av -e ssh /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/
работает, создает httpdocs, но без структуры B / C.
rsync -advR -e ssh -v /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/
работает, но воссоздает всю структуру / home / gitrepos ... на сервере.
разрешения установлены 777 и принадлежат пользователю.
Спасибо за помощь.
Если вы используете rsync 2.6.7 или новее, вы можете попробовать метод косой черты после httpdocs для ограничения каталогов. Попробуй это:
rsync -advR -e ssh -v /home/gitrepos/www/board/httpdocs/./B/C/delete_snippet.processor.php user@testboard.org:/var/www/vhosts/testboard.org/httpdocs/