rsync копирует иерархию папок, но только файлы в последней папке

Интересно, возможно ли это? По сути, я пытаюсь написать очень простой скрипт, который поможет мне ускорить процесс обновления нескольких установок системы CMS (где мне нужно копировать в определенные папки).

Допустим, у меня есть папка:

/home/sites/domain.co.uk/public_html/folder1/folder2/files

Что мне нужно сделать, это скопировать дерево папок и копировать только файлы в папке файлов.

На данный момент я использую rsync -a через:

<?php
exec("rsync -a /home/sites/domain.co.uk/public_html/folder1/folder2/files /home/sites/domain.co.uk/copy");
?>

Проблема с этим вместо создания следующего:

/home/sites/domain.co.uk/copy/folder1/folder2/files

это создает

/home/sites/domain.co.uk/copy/files

Есть ли способ использовать rsync для копирования предыдущих папок / структуры, так что я в итоге?

/home/sites/domain.co.uk/copy/folder1/folder2/files

Я очень рад использовать rsync вместо создания полноценного php-скрипта и т. Д.

0

Решение

Функциональность rsync заключается в передаче файлов из одного места в другое ИЛИ с одного сервера на другой (если у вас есть root-доступ к другой папке)
В вашем следующем примере

<?php
exec("rsync -a /home/sites/domain.co.uk/public_html/folder1/folder2/files /home/sites/domain.co.uk/copy");
?>

Должно быть files папка на вашем сервере по указанному пути, которая содержит файлы и в copy папка все эти файлы будут переданы.

вместо этого вы можете попробовать команду ниже для передачи ваших файлов

<?php
exec("rsync -auv -e ssh --progress /home/sites/domain.co.uk/public_html/folder1/folder2/files /home/sites/domain.co.uk/copy");
?>

--progress покажет, какой файл передается.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]