rsync: не удалось установить время для «<пути к каталогу>»


20

Я пытаюсь rsync файлы с одного сервера на другой, но получаю эту ошибку

rsync: не удалось установить время для «/ dept / intranet / dept / atest /.»: операция не разрешена (1)

Может кто-нибудь помочь мне, почему так?

Я думаю, это проблема с разрешениями.

Это моя команда:

RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
REMOTE_HOST=test.desktop

${RSYNC} -crlt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}

LOCAL_DIR = workplace1/f1/
permissions drwxr-xr-x   11 root     root         4096 Mar 19  2009 f1

REMOTE_DIR=/dept/intranet/dept/atest/f1/
permissions :drwxr-xr-x 14 dbld   a1     4096 Mar 19  2009 f1     

не могли бы вы дать нам больше информации? * ваша команда rsync * локальный + удаленный пользователь * права доступа к файлу
Брайан Клозел

отредактировал вопрос.

Ответы:


26

Просто так мы на одной странице:

-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times

Тогда две вещи:

Это просто файловая система

Если папка назначения - это NFS-монтирование или какая-то файловая система, которая плохо обрабатывает мод-времена, то она ломается.

Попробуйте добавить параметр -O(for --omit-dir-times) в вашу команду.

Время модификации будет сохранено, но не указано для каталогов:

${RSYNC} -crlOt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}

Это мое лучшее предположение, так как синхронизация файлов, кажется, работает, и ваша ошибка происходит во время синхронизации модов. В любом случае, вам действительно нужно сохранить время модификации ? В -cварианте Пропустить файлы на основе контрольных сумм (так моды времени не имеет значения).

Или это, собственно, проблема с разрешением

  • имеет ли пользователь, выполняющий скрипт, достаточно прав для редактирования / записи папки назначения? (попробуй ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test")
  • пользователь, выполняющий скрипт, является «Правильным ™» (попробуйте ssh -vv thegooduser@test.desktop "touch /dept/intranet/dept/atest/f1/test")

Ни один из вышеперечисленных

Запустите вашу команду с -vопцией, для многословия.


1
Спасибо за --omit-dir-timesсовет. Действительно помогает.
JakeGould


1

В моем случае я решил проблему, предоставив разрешения для родительского каталога, в котором была выполнена синхронизация.

На самом деле владелец родительского каталога был другим, чем пользователь, выполняющий синхронизацию.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.