Я использую rsync между двумя серверами для передачи файлов.
Проблема в том, что некоторые файлы не передаются. Я получаю эту ошибку: rsync: readlink Ошибка "/var/www/index.html": в доступе отказано (13)
Поэтому я проверяю разрешения на сервере и после проведения тестов замечаю, что файл передается только в том случае, если у него есть следующие разрешения: R-W! Если у файла есть следующие разрешения: R--, Rsync не может его загрузить !?
Команда:
/usr/bin/rsync -avzr -e "/usr/bin/ssh -i /home/replication/thishost-rsync-key" replication@192.168.1.10:/var/www/index.html ./
Это ошибка Rsync? Нахожу любую информацию по этой проблеме.
Спасибо за вашу помощь
Debian Etch 2.6.30 Rsync 2.6.9 версия протокола 29
Чтобы убедиться, что это разрешение, как сообщает rsync, попробуйте:
ssh replication@192.168.1.10 "ls -al /var/www/index.html"
or
ssh replication@192.168.1.10 "ls -al /var/www/"
Посмотрите, являются ли некоторые файлы, которые не передаются, символическими ссылками, указывающими за пределы дерева; если да, взгляните на аргументы --safe-links или --copy-links.
Либо измените разрешения, либо измените пользователя.
Вы можете сделать rsync более подробным, например, с помощью rsync -avvv [...]
чтобы увидеть еще больше сообщений об ошибках.
Параметр «r» не требуется, поскольку «a» по умолчанию имеет значение «-rlptgoD». И при рекурсивном копировании не включайте index.html, просто напишите «/ var / www /» с косой чертой в конце.
rsync должен иметь возможность читать файлы, которые вы пытаетесь скопировать, поэтому я предполагаю, что у пользователя, запускающего rsync, нет разрешения на чтение для рассматриваемого файла.
В этом случае вы можете либо предоставить доступ для чтения к файлу этому пользователю, либо использовать другую учетную запись, у которой уже есть доступ для чтения ко всем файлам, которые вы пытаетесь скопировать.
Если проблема не в этом, опубликуйте вывод ls -l /var/www/index.html