rsync: не вдалося встановити час на "<dir path>"


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.