Вот решение в php, которое:
- копирует каталоги (не рекурсивно, только один уровень)
- сохраняет разрешения
- в отличие от решения rsync,работает быстро даже с каталогами, содержащими тысячи файлов, так как он даже не входит в папки
- не имеет проблем с пробелами
- должен легко читаться и настраиваться
Создайте файл наподобие syncDirs.php
с таким содержимым:
<?php
foreach (new DirectoryIterator($argv[1]) as $f) {
if($f->isDot() || !$f->isDir()) continue;
mkdir($argv[2].'/'.$f->getFilename(), $f->getPerms());
chown($argv[2].'/'.$f->getFilename(), $f->getOwner());
chgrp($argv[2].'/'.$f->getFilename(), $f->getGroup());
}
Запустите его как пользователь с достаточными правами:
sudo php syncDirs.php /var/source /var/destination