Назад | Перейти на главную страницу

Rsync: требуется разрешение на выполнение

Я использую 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