2016-08-08 2 views
0

Я пытаюсь rsync мой сайт на сервер, сохраняя некоторые символические ссылки. У меня есть Рид некоторой документации, и это должно сделать трюкrsync symlinks to php files

rsync -vra --links 

за исключением одной проблемы: он не копирует символьные ссылки, которые не направлены в папку, но в файл (.php в этом случае, но я не думайте, что это важно). Это в основном ломается.

Эта ссылка работает:

htdocs/content/uploads -> /data/sharedstorage/uploads 

Эта ссылка получает пропущено

htdocs/content/config.php -> /data/sharedstorage/config.php 

Кто-нибудь знает, как я могу это исправить?

P.S: Я хочу сохранить символические ссылки, поэтому я не хочу копировать файлы, на которые ссылаются исходные ссылки символической ссылки.

+0

Почему, по вашему мнению, это пропускается, потому что это символическая ссылка? Можете ли вы дать полную команду rsync? –

+0

rsync -vrla --delete --update --dry-run --exclude = .git --exclude = htdocs/.htaccess --exclude = .git * --exclude = *. Old --exclude =. *. old --exclude = *. dist --exclude =. *. dist --exclude = www --exclude =. * --exclude = vendor/bin --exclude = vendor/cube --exclude = vendor/johnpbloch - exclude = vendor/koodimonni --exclude = vendor/koodimonni-language --exclude = *. json --exclude = Gruntfile.js --exclude = vvv * --exclude = wp-cli.yml --exclude = *. lock --exclude = * .md --exclude = node_modules --exclude = htdocs/content/themes/starter/tests --exclude = htdocs/content/themes/starter/*. json --exclude = htdocs/content/themes/стартер/*. txt –

+0

--exclude = htdocs/content/themes/starter/*. md --exclude = htdocs/content/themes/starter/resources/assets/bower --exclude = htdocs/content/themes/starter/ресурсы/активы/scss --exclude = htdocs/content/themes/starter/resources/assets/js/*/--exclude = htdocs/content/themes/starter/resources/assets/css/**/*. map./user @ server: Полная команда. -l должен сделать то же самое, что и -links (попробовал оба). Это не исключение этих файлов, если я правильно проверил. –

ответ

0

Похоже, что это будет передавать их как символические ссылки. Только обратная связь, которую дает rsync, не распознает символические ссылки. Наверное, потому что у них есть расширение. И таким образом он увидит это как файлы ...

Так что проблема на самом деле не проблема. Больше похоже на «ошибку» в функции verbose в rsync

+0

Rsync не заботится о том, что вы называете «расширениями». Имя файла - это имя файла, имеет ли он точку или возврат каретки или любой другой старый символ в ней [*] (http://serverfault.com/a/150744). Rsync не определяет тип файла по любому шаблону в имени файла. Он [запрашивает операционную систему для этой информации] (https://www.freebsd.org/cgi/man.cgi?query=fstat&sektion=2). – ghoti

+0

Так как же оно не распознается, но правильно ли оно передается? –

+0

Я не могу воспроизвести ваши результаты. Он работает для меня точно так, как я ожидал, в тестовом примере, который я создал. – ghoti